1. 程式人生 > >Kafka叢集搭建(使用kafka自帶的zookeeper)

Kafka叢集搭建(使用kafka自帶的zookeeper)

Kafka叢集搭建

本文使用的zookeeper是kafka自帶的,最好不要用kafka自帶的,可以先搭建好zookeeper叢集

1、 Kafka的安裝需要java環境,cent os 7自帶java1.6版本,可以不用重新安裝,直接使用自帶的jdk 即可;如果覺得jdk版本太舊,也可以自己重新安裝;

3、 下載好kafka安裝包後,將其解壓到/usr/local目錄下,刪除壓縮包

4、 目前搭建了三個節點的kafka叢集,分別在10.10.67.102,10.10.67.104和10.10.67.106伺服器上;

5、 檢視配置檔案 
進入kafka的config的目錄:

這裡寫圖片描述

6、 先建立zk叢集,直接使用kafka自帶的zookeeper建立zk叢集,修改zookeeper.properties檔案:

這裡寫圖片描述

三個機器上的zookeeper.properties檔案配置相同,需要注意的是日誌儲存的路徑,不會自動生成,需要自己手動建立相關的路徑, dataLogDir是我自己加的,日誌檔案太多,把日誌檔案區分開;

7、 建立myid檔案,進入/usr/local/kafka/zookeeper,建立myid檔案,將三個伺服器上的myid檔案分別寫入1,2,3,如圖:

這裡寫圖片描述 
—-myid是zk叢集用來發現彼此的標識,必須建立,且不能相同;

8、 進入kafka目錄 執行啟動zookeeper命令: 
./bin/zookeeper-server-start.sh config/zookeeper.properties & 
三臺機器都執行啟動命令,檢視zookeeper的日誌檔案,沒有報錯就說明zookeeper叢集啟動成功了。

9、 搭建kafka叢集,修改server.properties配置檔案: 
這裡寫圖片描述

這裡寫圖片描述

server.properties配置檔案的修改主要在開頭和結尾,中間保持預設配置即可;需要注意的點是broker.id的值三個節點要配置不同的值,分別配置為0,1,2;log.dirs必須保證目錄存在,不會根據配置檔案自動生成;

10、 啟動kafka叢集,進入kafka目錄,執行如下命令 : 
./bin/kafka-server-start.sh –daemon config/server.properties & 
三個節點均要啟動;啟動無報錯,即搭建成功,可以生產和消費訊息,來檢測是否搭建成功。

測試kafka叢集
(此處使用的zookeeper ip不同上所示,改成自己建立的即可) 1-進入kafka根目錄,建立topic--test bin/kafka-topics.sh --create --zookeeper 192.168.1.xx:2181,192.168.1.xx:2181,192.168.1.xx:2181 --replication-factor 1 --partitions 1 --topic test 2-列出已建立的topic列表 bin/kafka-topics.sh --list --zookeeper localhost:2181 3-模擬客戶端去傳送訊息 bin/kafka-console-producer.sh --broker-list 192.168.1.xx:9092,192.168.1.xx:9092,192.168.1.xx:9092 --topic test
4-模擬客戶端去接受訊息 bin/kafka-console-consumer.sh --zookeeper 192.168.1.xx:2181,192.168.1.xx:2181,192.168.1.xx:2181 --from-beginning --topic test
7、自己測試結果
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 3 --partitions 1 --topic test