admin管理员组

文章数量:1618688

kettle连接mysql报Communications link failure

本地连接mysql能够正常运行,在linux服务器就不行

1、kettle部署在linux之后,所有的ktr文件都必须保持纯英文的内容和格式,不然linux版的kettle会不识别
2、所有的ktr文件放在服务器上之后,运行命令
kitchen.sh -file /data/kettle-job/zjdz-azb/job-stream.kjb -param:customer_id=1400265640907902977
前面是job文件的所在位置,后面是要加入的参数
3、当然目前还是运行不起来的,会报一个缺少驱动包的错误,必须要在lib文件里面加入mysql所需要的驱动包,我这里是5.7版本的mysql,添加5.1版本的驱动包即可。

4、就报了上述的Communications link failure,的错误。就说是上次请求是在多少多少ms以前的这种错。
网上很多帖子说是改数据库配置,具体没有测试过,我们这边改配置就要重启mysql服务器,是生产环境的,有用户在使用,不太现实。
网上的方法:(大家可以试试)

5、经过多次尝试,终于解决
我的解决办法:

加了这几个参数就解决了,获许是因为数据库时区配的不对,还是说因为这个autoReconnect没有配成true,反正我这边是缺一不可。就这样解决了,大家遇到上述问题,不妨可以试试我的方法。

本文标签: 指南mysqlkettleCommunicationsfailure