前天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”
所以,对不起,我错了,我以后改。