由于kettle6/7等自带的elasticsearch-bulk-insert-plugin插件,最多支持es2.x,kettle8自带的es插件支持es6。对于其他需要使用es5/ex6/es7的情况,本人使用源码重新编译打包了相应的插件,请按如下步骤配置使用。

1、删除(自行备份)旧版本的elasticsearch-bulk-insert-plugin插件,在kettle目录data-integration/plugins下

2、根据自己环境,下载es5-plugin或者es6-plugin,以及相应的Jackson包

es5-plugin链接:百度网盘-链接不存在 提取码: mq2s

es6-plugin链接:  https://pan.baidu.com/s/1l9bUzPs5wIUpCvSsx1poZw 提取码: ctb9

es7-plugin,加qq群获取

Jackson链接:百度网盘 请输入提取码 密码:uz7w

如果文件链接过期,请加qq群:195548102  咨询。

3、将es-plugin解压后复制到data-integration/plugins下,文件夹名字随便,再将jackson-2.8.10-libs里面的jar包替换掉data-integration/lib下旧版本相应的jar包:

注:如果是kettle8,不需要替换这些jar

2.8.10的几个jar包如下:

旧版本可能是这样的:

注意,jar包名字可能不太一样,只要把jackson-开头的删掉(自行备份)替换即可。另外高版本的jackson也许不兼容kettle的json输入输出插件,需要自己验证,如果有问题,再来咨询。

如果替换后遇到这样的错误:

【NoClassDefFoundError: org/codehaus/jackson/map/ObjectMapper、org/codehaus/jackson/Versiond】

可以将之前的jar放回去:jackson-mapper-asl-1.9.2.jar、jackson-core-asl-1.9.2.jar

4、重启kettle,elasticsearch-bulk-insert-plugin应该就可以支持es5/es6/es7了。

注意:

1、es配置中,端口要使用TCP端口,默认是9300

2、如果修改了es集群名称,也在插件中配置cluster.name和相应值,默认是 elasticsearch 不需要配置,集群名字可以通过9200端口访问查看

如果在使用中遇到问题,请加QQ群:195548102  咨询。

或者加博主微信拉入微信群(请备注:kettle):

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐