logstash从mysql同步数据踩坑记录:错误: 找不到或无法加载主类 Files\Java\jdk1.8.0_181\lib;C:\Program

一、错误: 找不到或无法加载主类 Files\Java\jdk1.8.0_181\lib;C:\Program

执行完logstash.bat -f …/config/mysql.conf 后界面显示
错误: 找不到或无法加载主类
原因:安装jdk的目录有空格导致
解决方案:找到logstash-6.2.1\bin\logstash.bat,将该处%CLASSPATH%改成"%CLASSPATH%",如图所示:
在这里插入图片描述
改为:在这里插入图片描述
保存后重新启动,问题解决。

二、logstash正常启动,但是连接不了MySQL

现象:查看日志,发现logstash正常启动,但是连接不了MySQL,报错: Sequel::DatabaseConnectionError
2014 Java::ComMysqlJdbcExceptionsJdbc4::CommunicationsException: Communications link failure
在这里插入图片描述
mysql.conf中jdbc配置如下所示:

jdbc {
  jdbc_connection_string => "jdbc:mysql://localhost:3306/xc_course?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=UTC"
  # the user we wish to excute our statement as
  jdbc_user => "root"
  jdbc_password => admin
  # the path to our downloaded jdbc driver  
  jdbc_driver_library => "F:/maven_repository/mysql/mysql-connector-java/5.1.40/mysql-connector-java-5.1.40.jar"
  # the name of the driver class for mysql
  jdbc_driver_class => "com.mysql.jdbc.Driver"
  jdbc_paging_enabled => "true"
  jdbc_page_size => "50000"
  #要执行的sql文件
  #statement_filepath => "/conf/course.sql" 
  statement => "select * from course_pub where timestamp > date_add(:sql_last_value,INTERVAL 8 HOUR)"
  #定时配置
  schedule => "* * * * *"
  record_last_run => true
  last_run_metadata_path => "F:/studyOnline/elasticsearch/logstash-6.2.1/config/logstash_metadata"
  }

感觉配置并没有什么问题,但就是连接不上mysql,经过网上各种查找资料问题得到解决
原因:MySQL在高版本需要指明是否进行SSL连接
解决办法:在 jdbc_connection_string后面加上:&useSSL=false,如图所示:在这里插入图片描述
保存后重新启动,问题解决。有类似问题的朋友可以尝试一下。

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值