我們先弄清楚kafka叢集環境首先需要些什麼
- JDK 10+
- Zookeeper
- Kafka 2.x
首先準備三臺虛擬機器 centos7 ,更改IP地址為靜態地址分別為,29、30.31
cd /etc/sysconfig/network-scripts #進入網絡卡檔案目錄
vim ifcfg-ens33 #使用vim編輯器編輯該網絡卡資訊(需要編輯當前連結的網絡卡)
service network restart #重啟網絡卡服務,依次配置好三臺linux的IP地址保證能夠相互通訊
先安裝java jdk
- 下載
wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm
- 授許可權
chmod +x jdk-8u131-linux-x64.rpm
- 安裝
rpm -ivh jdk-8u131-linux-x64.rpm
檢查是否安裝成功
再安裝zookeeper ,29.30.31 三臺機器需要如下同樣的方式安裝 zookeeper 形成 zookeeper 叢集
- 下載zookeeper並解壓 官網推薦下載地址:https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/
- tar -zxvf zookeeper-3.4.14.tar.gz -C /opt/ //這裡解壓至/opt目錄中使用
- cp zoo_sample.cfg zoo.cfg //進入/opt/zookeeper-3.4.14/conf/目錄,先拷貝一份配置檔案
- 然後vim編輯zoo.cfg
- 說明:除了修改zoo.cfg檔案外還需要在這個檔案中指定的data目錄下新增一個 myid 的檔案,這個檔案裡面就只有一個數據,就是上圖中配置的 server.x 這個x的值(29,30,31)zookeeper啟動時會以此來確定自己的節點標識
- 切換到 zookeeper 的bin資料夾下,啟動三臺機器的zookeeper
./zkServer.sh start
啟動後發現每臺機器的執行模式仍然為單機模式,“試試關閉防火牆然後重新啟動”
systemctl stop firewalld.service //關閉防火牆
systemctl disable firewalld.service //禁止開機啟動
- 重啟zookeeper後再次檢視zookeeper的狀態,你會發現,一臺leader 兩臺 follower,說明到此我們的zookeeper安裝成功
這裡終端工具我使用的是 MobaXterm 可以同時多臺機器輸入同樣的shell命令,操作起來相當方便,建議使用
現在我們開始正式安裝kafka
下載kafka並解壓 下載地址 http://kafka.apache.org/
tar zxvf kafka_2.13-2.5.0.tgz -C /opt/
進入 /opt/kafka_2.13-2.5.0/ 進入到config目錄,編輯配置檔案:server.properties
三臺機器配置資訊修改完成之後 啟動 kafka , -daemon 為後臺啟動
啟動命令 ./kafka-server-start.sh -daemon ../config/server.properties
停止命令 ./kafka-server-stop.sh
- 檢查測試
我們先切回到 zookeeper 的bin 資料夾下 ,使用zookeeper的客戶端工具檢視
./zkCli.sh -server 192.168.3.29:2181 隨意連結其中的一個節點(能連結上去,且輸入 ls / 出現不少資訊說明安裝已經成功,但看不到我們想要看的資訊,不慌,繼續
這裡我們介紹另一款工具 kafka-manager-1.3.3.7.zip,自行下載(https://github.com/yahoo/kafka-manager ),上傳至任意一臺機器,然後解壓修改配置檔案 application.conf
儲存後,進入kafka-manager/bin目錄下,執行執行命令 ./kafka-manager 預設埠為 9000 可以使用以下命令指定配置檔案和埠執行
./kafka-manager -Dconfig.file=./config/application.conf -Dhttp.port=9000
當然也可以使用 nohup & 的形式後臺執行
我們可以看到,正在啟動 kafka-manager 並在同步狀態了,我們到瀏覽器訪問 http://192.168.3.29:9000/
新增叢集
到此,kafka叢集搭建算是完成,後續,我們針對net5來使用kafka做一些demo程式,來試試kafka