Kafka集群的搭建
一、背景
最近在學習 kafka ,此處記錄一下 mac 上 搭建 kafka 集群的步驟。
二、安裝軟件
由于 kafka 依賴 zookeeper 因此需要安裝 zookeeper ,而 kafka 是基于 scala 語言編寫, scala 又是基于 jdk 的,因此需要安裝 jdk 。
- JDK , 推薦在 jdk8 及以上的版本,此處安裝 jdk 略。
- zookeeper , 在本機搭建一個 3 個節(jié)點的 zk 偽集群。
- kafka 在本地搭建一個3個節(jié)點的 kafka 集群。
三、安裝步驟
1、搭建一個 3 個節(jié)點的 zk 偽集群
ip客戶端連接端口集群選舉接口集群原子廣播接口server.id中id的值節(jié)點名,目前沒用到,這個配置到hosts文件中
注意:
- server.id 的中的 id 的配置是在 zoo.cfg 配置文件的 dataDir 配置項指定的目錄中 創(chuàng)建 myid 文件指定的。
1、下載 zookeeper 安裝包
- get https://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.6.2/apache-zookeeper-3.6.2-bin.tar.gz
2、解壓三份,并放置在 zookeeper 目錄中
3、修改 zookeeper 配置文件,此處以 zk01 為例子
- 修改 conf 目錄下的 zoo_sample.cfg 為 zoo.cfg
- 編輯 zoo.cfg 配置文件
注意:
- 此處拿 zk01 為示例編寫,因為是本地上啟動多個,所以 需求修改端口
- 各個服務(wù)器上的 myid 文件對應的值 都應該不一樣,且唯一。
- dataDir 的路徑需要修改。
- 其余的配置可以看著修改,看具體的情況。
- 啟動3個zk節(jié)點
分別進入到 zk01/bin , zk02/bin , zk03/bin 目錄下執(zhí)行 如下命令
- ./zkServer.sh --config ../conf start
- 連接 zk 集群
- ./zkCli.sh -server 127.0.0.1:2181,127.0.0.1:3181,127.0.0.1:4181
2、搭建一個3個節(jié)點的 kafka 集群
注意:
- broker.id 的值必須唯一,且是數(shù)字。
1、下載 kafka
- https://www.apache.org/dyn/closer.cgi?path=/kafka/2.6.0/kafka_2.13-2.6.0.tgz
2、解壓3份,并放置到 kafka 目錄中
3、修改 server.properties 文件,此處以 kafka01 為例子
需要修改的屬性 ,此處以 kafka01 為示例,不同的接口修改具體的值
4、啟動3個kafka節(jié)點
依次進入到 kafka01/bin , kafka02/bin , kafka03/bin 目錄,執(zhí)行如下命令
- ./kafka-server-start.sh ../config/server.properties &
5、kafka測試
此處以 kafka01 作為示例
1、創(chuàng)建一個主題
- bin/kafka-topics.sh --create --topic test-001 --replication-factor 1 --partitions 1 --bootstrap-server 127.0.0.1:9092,127.0.0.1:9093,127.0.0.1:9094
2、查看主題信息
- bin/kafka-topics.sh --describe --bootstrap-server 127.0.0.1:9092,127.0.0.1:9093,127.0.0.1:9094 --topic test-001
3、往創(chuàng)建的主題中發(fā)布一條信息
- bin/kafka-console-producer.sh --topic test-001 --bootstrap-server 127.0.0.1:9092,127.0.0.1:9093,127.0.0.1:9094
4、讀取剛剛往主題中發(fā)布的消息
- bin/kafka-console-consumer.sh --topic test-001 --from-beginning --bootstrap-server 127.0.0.1:9092,127.0.0.1:9093,127.0.0.1:9094
到此,一個簡單的可用的kafka集群就搭建完畢了。