昆仑山

注册

 

发新话题 回复该主题

Kettle在Linux在运行报错Com [复制链接]

1#

前情:

这是一位群友的问题,有一定代表性,总结一下。

问题描述:

Windows上运行不报错,在Linux上就报错,

报错信息:插入/更新-Communicationslinkfailure

首先这个错误是当前环境的Kettle连接数据库时网络链路不通,连接失败了。由此来确认一下问题:

1、使用数据库客户端工具,尝试访问这个数据库,确定数据库本身的可用性。以及对外可连通性。

2、在这台不通的Linux机器上执行命令:telnetIP,以确定本台机器到数据库之间的连通性,(这也是一个确定到某台机器某个端口的有效连通性的常用方法,不能使用Ping命令确定,Ping只能确定到达,但某些端口通不通不能确定),如下图表示通。

如果出现下图类似这样表示不通:

不通在Kettle执行中就会报:Communicationslinkfailure

3、排查Linux机器的防火墙,以centos为例。

防火墙相关命令:

查询状态

systemctlstatusfirewalld.service

打开

systemctlstartfirewalld.service

停止

systemctlstopfirewalld.service

永久关闭

systemctldisablefirewalld.service

下图表示开启中:

下图表示关闭状态:

关闭后再尝试telnetIP,以及Kettle执行,此时可以正确执行了。

总结:Linux一般初始的防火墙都是打开的,所以都需要关闭或者增加相应的策略,如果是一些云环境的机器,比如阿里云,要在相应的控制台中进行设置。

分享 转发
TOP
发新话题 回复该主题