我們先弄清楚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