學習技術,提升自己
安裝kafka
1.官網找到壓縮包,下載並上傳到虛擬機內(沒錢買不起服務器)
2.執行解壓縮命令
tar -zxvf kafka_2.11-2.1.0.tgz
3.進入到kafka_2.11-2.1.0/config目錄里,執行圖片中的命令,將zookeeper.properties中的信息篩選出來並將篩選出來的數據給一個新建的文件zk.properties
cat zookeeper.properties | grep -v '#' >> zk.properties
4.由於kafka里自帶zookeeper,所以vi zk.properties這個文件,修改dataDir,將來zookeeper的信息都記錄在這個文件夾下dataDir=/usr/local/test2/zk/
(具體文件夾視自己來定)
5.攜帶新建的配置啟動zookeeper,要在該/home/hadoop/opt/kafka_2.11-1.1.0目錄下啟動
./bin/zookeeper-server-start.sh config/zk.properties
6.新打開一個連接窗口,運行命令jps,可以看到zookeeper已經起來了
這個東西就是zookeeper的進程
7.啟動broker(kafka)
進入該目錄/home/hadoop/opt/kafka_2.11-1.1.0/config,和上面一樣,將一個文件的數據重定向到另一個新目錄,將帶有#注釋的代碼去掉
----------------------------以下內容作廢-----------------------------------------------------------------------------------
cat server.properties | grep -v '#' >>kafka1.properties
---------------------------到這里作廢----------------------------------------------------------------------------------------
修改配置文件
加入
advertised.host.name=IP地址
然后啟動kafka,要在bin目錄下,和上面一樣
./bin/kafka-server-start.sh config/server.properties
啟動了后,再次打開一個新的連接窗口,jps一下,就會發現啟動了一個名叫Kafka的進程,說明我們已經啟動成功了
查看kafka中的topic數
./bin/kafka-topics.sh --list --zookeeper localhost:2181
到這里,kafka已經可以啟動了,但是其中會遇到不少問題,接下來我列出我遇到的
1. java.net.UnknownHostException: MiWiFi-R3-srv: MiWiFi-R3-srv: unknown error
這個問題是在啟動kafka時遇到的
這個 MiWiFi-R3-srv 是虛擬機的名字,不知道為啥沒有識別IP,識別了名字,很煩哦
解決方法:
vim /etc/hosts
添加 192.168.1.89 MiWiFi-R3-srv 192.168.1.89 這句話,也就是將你虛擬機的IP填入
保存退出,啟動kafka,即可(原理不知道,待以后知道再填上)
2. Initiating connection to node 0 at MiWiFi-R3-srv:9092. Error connecting to node 0 at MiWiFi-R3-srv:9092: java.io.IOException: Can't resolve address: MiWiFi-R3-srv:9092
如圖所示,這個錯誤是在項目啟動連接kafka時報的,此時項目需要調整日志等級為debug才能看到
這個問題原因我也不清楚
解決方法還是
vim /etc/hosts
添加虛擬機IP
192.168.1.89 192.168.1.89
之后再啟動項目
可以看到成功了,關於springboot 連接kafka可以自行百度,這里不再多說,如有疑問,可以提出
3.又發現個問題,切換網絡后,centeros的主機名會改變導致連不上kafka
需要vim /etc/sysconfig/network
然后將HOSTNAME這個參數固定死,之后
hostname MiWiFi-R3-srv
使名稱生效,然后重啟centeros,發現改過來了