Logstash是es官方标配的ELK中的“L”,它们三者的关系是这样:“E”指elasticsearch,用来提供核心的搜索服务;“L”指logstash,用来实现源数据到es索引库的收集、转换、入库;“K”指Kibana,用来通过丰富的图表化界面展示数据。安装这个logstash真的是比较坑,尤其是对于没接触过的人来说,安装过程好多问题都莫名其妙。

1、服务器上我测试的es版本与logstash版本均是7.5。首先安装logstash,去官网下载对应版本的zip包,下载后解压到目录即可:

2、在bin目录下新建一个配置文件sql2es.conf(文件名自定,但是扩展名得是conf),用来指定要从哪个数据库同步数据到es索引库。具体配置可自行百度,需要注意的是红框里的。jdbc_driver_library配置的是logstash要使用的jdbc驱动,你访问mysql就去下载mysql的驱动jar包,访问sqlserver就去下载sqlserver的驱动jar包,下载完毕后这里配置成本地jar包的位置就好。我使用的是mysql-connector-java-8.0.18.jar,对应下面一行的jdbc_driver_class要配置成“com.mysql.cj.jdbc.Driver”,否则会出错。原来老版本配置的是com.mysql.jdbc.Driver,这里要特别注意。我测试的配置是从本地的mysql数据库中的t_owner表同步数据到es索引testdata下,文档类型为owner。

3、cmd进入到logstash的斌目录下,运行一下看看行不行:logstash -f sql2es.conf:-f表示按照指定的配置文件来运行。这么顺利吗?果然还是出错了:报错:com.mysql.jdbc.Driver not loaded. Are you sure you've included the correct jdbc driver in :jdbc_driver_library?  上网一查说是本地logstash-input-jdbc没有安装好,但是要安装这个东东,需要去更新ruby的某些文件,因为logstash使用ruby语言写的。

4、修改logstash根目录下的Gemfile文件,把source改成“https://gems.ruby-china.com/”。这个东东是用来指定ruby源的,国内的源下载安装速度比较快。

5、运行logstash-plugin install logstash-input-jdbc。应该会提示安装成功。再运行一下logstash -f sql2es.conf看看行不行,然并卵,问题依旧。继续上网各种搜各种试,终于发现一篇帖子:https://www.jianshu.com/p/0e893f29ee05,有提到是这个版本有bug,需要升级(心中顿时万马奔腾...)。我本地的默认版本是4.3.16,不好使。

6、去github下载最新版(当前最新版本是4.3.19)zip包,下载后解压并在本地编译生成gem文件并安装。

运行gem build logstash-input-jdbc.gemspec,生成.gem文件:

运行logstash-plugin.bat install logstash-input-jdbc-4.3.19.gem,在本地安装最新版本:

7、再试试,运行logstash -f sql2es.conf。终于不报错了,但是报mysql的timezone时区错误。这个好办,去mysql里设置一下默认时区:

8、再次尝试,成功了!它终于开始干活了。满屏的数据滚动起来罗。

注意,如果本地没有安装ruby的话,前面步骤中的gem命令运行不起来。去官网下载一个最新版安装就好(可能需要重启服务器):https://rubyinstaller.org/downloads/

logstash mysql eror_Logstash安装记录(报错com.mysql.jdbc.Driver not loaded的解决)相关推荐

  1. LogStash 7.x com.mysql.cj.jdbc.Driver not loaded的解决方法

    LogStash 7.x com.mysql.cj.jdbc.Driver not loaded的解决方法 环境 异常 解决方法 问题修复地址 环境 logstash-7.4.2, JDK 1.8: ...

  2. mysql server安装报错_安装VtigerCRM报错:MySQL Server should be configured with

    安装报错提示如下: MySQL Server should be configured with: sql_mode = ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREA ...

  3. MySQL添加中文记录报错解决方法

    insert into user values (null,'张三','123',23,'1993-09-01'); 直接向数据库中插入中文记录会出现错误!!! 解决方法: show variable ...

  4. python pymysql emoji表情插入mysql数据库异常记录报错 pymysql.err.InternalError

    在数据库存储微信小程序用户昵称时候,发现用户昵称使用emoji表情时候就存不了数据库中间报错 pymysql.err.InternalError: (1366, "Incorrect str ...

  5. linux中mysql的安装及报错解决

    本文介绍下Centos7中mysql的安装(Centos7以下版本中有些命令和centos7中有些不同,安时需注意下自己的linux版本) 1.下载并安装yum repository [root@s2 ...

  6. mysql table plugin_MySQL 启动报错Table 'mysql.plugin' doesn't exis(转载)

    安装完成后,按照网上说启动mysql时却报了以下错误: [root@localhost bin]# ./mysqld 2015-10-23 16:54:55 0 [Warning] TIMESTAMP ...

  7. tomcat 启动报错 registered the JDBC driver [com.mysql.jdbc.Driver] but failed to unregister

    在帮朋友改bug时出现下面错误: org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesJdbc The web applic ...

  8. Kali安装fluxion报错:Aborted, xterm test session failed的解决办法

    说说我自己对出现这个问题的看法: 通过多次的尝试  发现 1.由于我的网络问题  我是用的校园网 不太稳定 (建议安装的时候使用流量+热点) 2.安装过程中自行终止(自己按了ctr+c)(所以安装过程 ...

  9. mysql安装开始报错_MYSQL安装报错 -- 出现Failed to find valid data directory.

    运行环境:windows10 数据库版本:mysql.8.0.12 安装方式:rpm包直接安装 问题描述: mysql初始化的时候找不到对应的数据库存储目录 报错代码: 2018-10-13T03:2 ...

最新文章

  1. SpringBoot conditional注解和自定义conditional注解使用
  2. jmeter获取时间_time 函数
  3. 树莓派:和电脑之间的串口编程,以及树莓派的备份
  4. 理解Java NIO
  5. 冒泡排序,swich语句,while循环...基础性的一道综合题初学者可以做一个简单的测试...
  6. 【面试】Java面试常见问题汇总(不含答案)、面试指导学习笔记
  7. 正确使用cookie中的domain
  8. 站点CSS样式不起作用,或仅仅有一部分起作用?随手记
  9. 硬件——nrf51822第二篇,如何设置keil用来下载程序
  10. java split 正则_java split方法的实现 正则匹配
  11. Uber开源深度概率编程语言Pyro,AI实验室蛰伏一年首现身
  12. Educational Codeforces Round 52E(构造,快速幂)
  13. 《现代体系结构上的UNIX系统:内核程序员的对称多处理和缓存技术(修订版)》——2.3 直接映射高速缓存...
  14. Android滑动返回上一级界面
  15. 基于微信小程序的比赛报名系统
  16. python实现word文档合并
  17. Unity实现人物移动和镜头跟随
  18. kill命令详解kill -9、kill -15区别
  19. postman 搭建mock-server
  20. unity学习笔记-特效篇

热门文章

  1. 【从零学习OpenCV】4Ubuntu系统中安装OpenCV 4
  2. uva-10400-搜索
  3. solr研磨之游标分页
  4. 表单实例(判断两次密码是否一致)
  5. 统一沟通-技巧-10-Lync-公网证书-Go Daddy
  6. 众所周知,static修饰的成员只实例化一次,而string类型每次赋值都会重新创建一个实例,那么用static修饰string呢?...
  7. HTML 中有用的字符实体
  8. Quart 2D 绘制图形简单总结
  9. S60 V3版SDK的官方扩展插件
  10. android悬浮动态权限,android应用内悬浮窗-自动贴边,不需要权限!