今天总结一下如何使用logstash将Oracle数据导入到Elasticsearch,然后后面会分享怎么在KONGA中配置API接口给用户。

首先要安装好Logstash并且在服务端安装好Elasticsearch!!然后开始操作:

1、进入logstash路径

logstash路径:

configs:里面存放配置文件。

libs:存放可能需要使用的jar包。

sql:存放sql文件

2、进入sql路径下,创建sql并编辑

cd ./sql
vim GXJX_KCSJLB.sql

通篇我讲其中一个具体的例子,某高校的课程数据类数据(GXJX_KCSJLB):

在这个GXJX_KCSJLB.sql文件中输入我们的查询数据指令:

select 'gxjx_kcsjlb' as es_index,ROWNUM,KCH,KCMC,KCYWMC,XF,ZHXS,ZXS,LLXS,SYXS,KCJJ,JC,CKSM,KCFZRH,KCKSDWH,SJXS,KCJXDG,KCJBM,KCLBM,KCLXM,SFTK,TKRQSJ,KSRQSJ,ZHGXSJ,SCBZ,KCXZ,KKBMDM from GXJX_KCSJLB;

注意:

  1. 我们定义的 es_index 会在configs文件中配置为es的索引,不能使用大写字母,否则会导致不能识别。
  2. 注意如果是从Oracle数据库中使用数据,可以加上ROWNUM这个属性。在config配置中与 document_id 对应。sql指令后面可以不带封号。

3、进入configs路径下,创建config文件并编辑

cd ./configs
vim GXJX_KCSJLB.config

GXJX_KCSJLB.config 配置文件内容:

input {jdbc {jdbc_driver_library => "/home/logstash/libs/ojdbc6-11.1.0.6.0.jar"jdbc_driver_class => "Java::oracle.jdbc.OracleDriver"jdbc_connection_string => "jdbc:oracle:thin:@192.168.99.19:1521:jcxydb"jdbc_user => "sjbzk"jdbc_password => "sjbzk"schedule => "* * * * *"statement_filepath => "/home/logstash/sql/GXJX_KCSJLB.sql"}
}
filter {#以下grok和date添加了时区信息,解决后续创建index时的时区差8个区的问题json {source => "message"remove_field => ["message"]}}
output {elasticsearch {hosts => [ "192.168.102.17:9200","192.168.102.18:9200","192.168.102.19:9200" ]index => "%{es_index}_index"document_type => "doc"document_id => "%{kch}"#elasticsearch 的用户名与密码user => "logstash_internal"   password => "logstash@PWD2020"}
}

注意:

  1. schedule中的值意思是一分钟执行一次。
  2. statement_filepath中填写我们之前创建好对应的sql路径。
  3. index => "%{es_index}_index"中“es_index”是之前在sql文件中定义新增的列,作为这里的索引,具体效果如下图。
  4. document_id => "%{kch}"中的kch虽然表中是大写,但是这里要转为小写,不然不能识别。

索引信息:

4、在configs路径下创建vr_edition_config文件夹

为了更好的传输数据,在configs路径下创建vr_edition_config文件夹,然后将我们刚刚创建的config放到这个路径下:

5、修改logstash的配置文件

vim /etc/logstash/pipelines.yml

添加内容:

  pipeline.id: vr_editpipeline.workers: 1pipeline.batch.size: 1path.config: "/home/logstash/configs/vr_edition_config/*.config"

这里配置path.config,将配置路径指向我们存放config的位置。

6、重新启动logstash并查看运行日志

先将logstash关闭,时间可能比较长,耐心等待:

service logstash stop

重新启动:

service logstash start

其中如图有错误或者问题可以查看logstash的运行日志:

tail -f /var/log/logstash/logstash-plain.log 

报错的话,也可以的查看报错信息:

vim /var/log/messages

然后可以打开 http://192.168.102.17:9200/_plugin/head/ 中的Elasticsearch查看到刚刚导入的数据:

可以通过基本查询查看里面详细的信息:

为后面使用KONGA通过API访问返回数据做好前提工作。

使用logstash将Oracle数据导入到Elasticsearch相关推荐

  1. 【Logstash】Logstash:把MySQL数据导入到Elasticsearch中

    1.概述 转载:https://www.cnblogs.com/sanduzxcvbnm/p/12076487.html Logstash:把MySQL数据导入到Elasticsearch中 前提条件 ...

  2. Oracle数据导入导出imp/exp

    功能:Oracle数据导入导出imp/exp就相当与oracle数据还原与备份.   大多情况都可以用Oracle数据导入导出完成数据的备份和还原(不会造成数据的丢失).  Oracle有个好处,虽然 ...

  3. import oracle utility_教你如何Oracle数据导入

    学习Oracle时,你可能会遇到Oracle数据导入问题,这里将介绍Oracle数据导入问题的解决方法,在这里拿出来和大家分享一下.Oracle数据导入实用程序(Import utility)允许从数 ...

  4. oracle 导入电子表格,oracle数据导入到电子表格中

    oracle数据导入到excel中 实现步骤: 1.连入SQL*Plus 以system/manager用户登录, SQL> conn system/manager 创建新的用户:如user1/ ...

  5. oracle数据导入/导出

    Oracle数据导入导出imp/exp 功能:Oracle数据导入导出imp/exp就相当与oracle数据还原与备份.   大多情况都可以用Oracle数据导入导出完成数据的备份和还原(不会造成数据 ...

  6. Oracle数据导入导出imp/exp命令 [转]

    Oracle数据导入导出imp/exp就相当于oracle数据还原与备份.exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中. 利 ...

  7. oracle导出数据视频教程,Oracle数据导入导出基本操作示例

    Oracle数据导入导出基本操作示例 数据导出 a.将数据库orcl完全导出,用户名user 密码password 导出到D:\dc.dmp中 exp user/password@orcl   fil ...

  8. sqoop将oracle数据导入到hive报错:Error: java.io.IOException: SQLException in nextKeyValue

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 问题 一.问题是什么导致的? 二.验证问题 总结 问题 sqoop将oracle数据导入到hive报错:Error: jav ...

  9. 数据库oracle数据导入导出命令,数据库oracle数据导入导出命令

    exp Oracle数据导入导出imp/exp 功能:Oracle数据导入导出imp/exp就相当与oracle数据还原与备份. 大多情况都可以用Oracle数据导入导出完成数据的备份和还原(不会造成 ...

最新文章

  1. 这个AI能帮你快速搜监控:文字定位关键画面,24小时录像10分钟处理完
  2. ABAP--如何在选择屏幕上输出ALV GRID报表
  3. LeetCode 101. 对称二叉树(递归循环)
  4. html批量导入excel表格,html 导入excel表格数据格式-如何将网页中的表格快速复制到EXCEL中...
  5. [java] Unsupported major.minor version 51.0 错误解决方案
  6. MySQL 和 MySQL Workbench图形化安装教程
  7. 小观matlab插值函数
  8. 云终端能改计算机,云终端旧机改造方案(把旧电脑改成瘦客户机)
  9. 使用python实现猴子摘香蕉问题
  10. javafx自定义分页控件的实现
  11. Windows系统的重要文件目录
  12. python3模拟键盘输入_python 模拟键盘输入
  13. freeswitch hangup hook lua脚本处理
  14. Python的字符串比较
  15. 使用Cisco Packet Tracer练习无线还真不错!
  16. ZJOI2008 瞭望塔 半平面交
  17. [I.MX6UL] U-Boot移植(六) 网络驱动修改 LAN8720A(对比原子和NXP官方测试板的网络芯片LAN8720A , KSZ8081 (也是飞凌)唯独复位引脚不同595芯片也涉及改动)
  18. 手机上怎么将DWG转PDF?这个方法轻松解决
  19. 标准15针 VGA 显示接口定义及焊接方法
  20. Node.js:download下载文件

热门文章

  1. 选对池塘钓大鱼([美]雷恩·吉尔森)第五章 挑选一口池塘:选择公司
  2. 计算机行业英语单词(二)
  3. “AR录取通知书”火了,HiAR独家揭示App嵌入AR的奥秘
  4. 【LSS: Lift, Splat, Shoot】代码的复现与详细解读
  5. 九星连珠用c语言编程,如果发生九星连珠,人类和地球会灭亡吗?
  6. 职业选择心理测试软件,职业选择的心理测试题
  7. 最新爆料!12个最佳开源应用获奖得主花落谁家
  8. ONVIF协议云台服务规范(三)-移动操作 ONVIF PTZ Service Specification-Move Operations
  9. 考研复试软件测试面试,如果考研复试采取远程面试,这4个要点一定要做好!...
  10. 购物类App原型制作分享-Lyst