logstash中failed to coerce jdk.internal.loader.ClassLoaders$AppClassLoader to java.net.URLClassLoader

用logstash导入mysql数据库数据遇到的TypeError: failed to coerce jdk.internal.loader.ClassLoaders$AppClassLoader to java.net.URLClassLoader问题win10

最近要用ES做数据处理和分析,那数据从哪来?从我们的mysql上面导入进来!!!!!
按照其大神的步骤,搞了一上午也没有把数据导到ES里。中午看git才知道因为JDK版本的原因在加载jdbc driver的时候程序报错,最终我把JDK从12降到了8终于解决了问题。成功导入之后还是挺爽的。

毕竟我大学入错了行,学了商务英语,天煞的!!!!!!!

这个是大神链接
利用logstash的logstash-input-jdbc插件实现mysql增量导入ES的介绍:
https://blog.csdn.net/yeyuma/article/details/50240595#quote

这个是我安装的步骤
1. 安装es head
a. 安装node.js
b. 下载es head
c. 用cmd进入node安装目录安装grunt为全局命令
npm install -g grunt-cli
d. 用cmd在head的目录下执行命令
npm install
e. 在head目录下运行grunt server用以启动head
f. 在elasticsearch.yml中加入
http.cors.enabled: true
http.cors.allow-origin: “*”
g. 访问9100端口
参考网址:https://www.cnblogs.com/tanshaoxiaoji/p/elasticsearch_head_install.html
2. 安装logstash
a. 啥是logstash
logstash就是开源数据收集引擎,具有实时管道功能
b. 下载logstash.zip文件,并解压
c. 在bin目录下新建文件logstash_default.conf
Input{stdin{}} output{stdout{}}
d. 在bin目录下新建文件run_defalut.bat
i. Logstash -f logstash_default.conf
e. 启动run_default.bat
f. 访问localhost:9600
3. 使用logstash同步mysql
a. 安装logstash-input-jdbc (logstash5.X开始已经集成了jdbc插件)
在cmd中的logstash下的bin目录中运行
logstash-plugin install logstash-input-jdbc
logstash-plugin remove logstash-input-jdbc(删除插件命令)
Logstash-plugin list(查看可用插件)
b. 安装mysql的jave包(jdbc一直加载不了)正在测试是否使用jdk8可行。测试后可行
i. 官网下载
ii. 解压就行了
c. 准备两个文件:
i. 一个是.conf文件用于设置输入输出格式

input {
 stdin { }
    jdbc {
        jdbc_connection_string => "jdbc:mysql://localhost:3306/etest"
  
        jdbc_user => "root"
 
        jdbc_password => "tiger"
 
        jdbc_driver_library => "G:\mysql-connector-java-5.1.47\mysql-connector-java-5.1.47-bin.jar"
 
        jdbc_driver_class => "com.mysql.jdbc.Driver"
         
        jdbc_paging_enabled => "true"
         
        jdbc_page_size => "50000"
        
        statement_filepath => "jdbc_test1.sql"
        
        schedule => "* * * * *"
        
        type => "jdbc"
    }
 }
  
 output {
     stdout {
        codec => json_lines
    }
    elasticsearch {
        hosts => "localhost:9200"
        
        index => "etest"
        
        document_type => "slots"
        
        document_id => "%{id}" #auto-increment
        
        #cluster => "logstash-elasticsearch"
    }
}

ii. 另一个是.sql文件用于设置sql查询语句的

select * from slots

d. 在cmd中logstash的目录下启动logstash
i. Bin/logstash -f logstash_mysqltestconnect.conf(这个是我的.conf的文件名)

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值