對於kafka Missing required configuration “zookeeper.connect” which has no default value
記錄一下最近學習kafka的一些坑:
最近學習kafka的時候,在自己的windows10機器上順利跑了出來,但是因為想在linux伺服器上嘗試的原因,便首先在自己在自己之前本來用於翻牆,後棄用的一個centos伺服器上除錯,跟著案例一步一步走的時候,到最後一步發現這臺雲服記憶體太小,只有512MB,遂啟動不了,所以換到了實驗室的一臺ubuntu18.04的內服上測試,前面一直java出錯,source /etc/profile的時候一直提醒我說,java/jdk1.8/ is a directory,嗯嗯嗯?我配的Java,環境我不知道是目錄嗎,所以一直重新整理不成功,後發現,原來前面有個地方的環境變數分割符用成了;(分號),但是其實在linux環境下,多個PATH之間是用:(冒號!!!)分割的。
本以為到這裡就完了,後面又提醒我,kafka找不到java命令,我真是苦了你了,後在kafka-run-class.sh中把$JAVA的地方,改成了我本地java命令的硬路徑,遂成!但是為什麼會找不到,我以為是kafka的原因,便又虛擬了一個centos6.5進行測試!
發現:
哈哈哈,centos6.5下是能夠找到java的,並沒有ubuntu下面的坑啊,我真的是XX了!
後來發現!是自己延用了centos中的習慣,寫環境變數首先就是想到的/etc/profile,其實centos和ubuntu不同,centos環境變數是在/tec/profile中加,但是Ubuntu是在/etc/enviornment中加,修改之後,問題解決!
後面又出現了標題上的問題,原因是我按照的網上找的教程去做的,一直在百度上找這個問題!都沒有答案,後面翻牆google了一條,就找到了答案!!這裡也可以看出區別了,哎!
注意,出現此類問題是因為你直接啟動了:./bin/kafka-server-start.sh ./config/server.properties
但是其實就算是使用kafka內建的zookeeper進行啟動,在此之前還是有一步!
Please,你要先啟動內建的的zookeeper啊:bin/zookeeper-server-start.sh config/zookeeper.properties,出現此問題一個是自己馬虎,第二個原因是確實被教程誤導,大家能google還是儘量google吧!