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”

所以,對不起,我錯了,我以後改。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章