canal-随记001-吐血一个下午找bug

前天leader说,阿里的新版本canal支持 canal收集binlog直接发到kafka,你要不研究一下?

ok,没问题。

昨天周六,在家搭了套环境。解决centos7安装mysql各种小细节,按照阿里github上的步骤来做。终于,还是没有跑起来。。

但是根据现象:一旦往mysql表中插入数据,查看canal.log就会有日志滚动更新,只是不是我想要的内容。。。

日志如下:

2019-04-28 05:24:06.242 [kafka-producer-network-thread | producer-1] WARN  org.apache.kafka.clients.NetworkClient - [Producer clientId=producer-1] Connection to node -1 could not be established. Broker may not be available.

由此推测是canal到kafka的过程出了问题。

今天周天,因为五一假期,法定上班。早早来到办公室,再次细细看了阿里的github和自己的工程环境,怀疑是canal配置到kafka的端口有问题,配置文件canal.properties默认:canal.mq.servers = 127.0.0.1:6667,

心想没有端口是6667啊,应该是kafka的9092才对啊。

果然,搞定!

/////////////////////////然而下午并没有那么顺利/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

下午打开电脑,发现我的虚拟机的ip自己又变了。因为采用的是动态地址,心里想一定要改成静态地址,但。。。还是先解决当下问题重要。

我把canal和kafka中的相关配置文件ip都改了后,鉴于经常启用canal,zk,kafka,所以把启动和停止的命令都添加到xshell的快捷栏上

然后再次启动。。。呵呵呵。。。。

2019-04-28 05:24:06.242 [kafka-producer-network-thread | producer-1] WARN  org.apache.kafka.clients.NetworkClient - [Producer clientId=producer-1] Connection to node -1 could not be established. Broker may not be available.

又是不停的刷这个日志,我一开始是不怕的,毕竟我见过它。

我想,肯定是我在配置新的ip的时候,配置文件没有配置正确。

我一个一个的翻,终于,还是没找到原因。

还好,我足够机智,提前把上午canal,zk,kafka的那套正确运行的整个包都备份了一下。我删除下午修改配置文件所导致的狼狈不堪的环境,把上午的那套解压了出来。

嘿嘿,心想这下把之前的IP换成现在的IP,其他都不变,还有错的道理?

果然,还是上面那条看了就心乱如麻的日志在不停刷新。。。

有点慌了。。。。。

咦~别慌。。。怎么每次我点xshell中快速按钮来关闭kafka时,总会提示我“No kafka server to stop”呢???

然后我用xshell中快速按钮来启动kafka时,然后用ps -ef | grep -i kafka却看不到kafka呢???

是的,我知道错了。

问题恰恰出在xshell的快捷按钮上。

启动kafka时,指定server.properties文件,我是这么写的:

sh /usr/hadoop/kafka/kafka_2.12-2.1.0/bin/kafka-server-start.sh -daemon ../config/server.properties &

快速启动的时候,当前路径是不固定的,怎么可能正确识别“../config/server.properties”

所以,对不起,我错了,我以后改。

原文地址:https://www.cnblogs.com/cnblogszs/p/10785612.html