kafka集羣搭建

個人博客原文鏈接

Kafka單機模式

1.解壓
tar -xvf kafka_2.11-0.8.0.0.tgz -C /home/hadoop/apps/

2.配置環境變量
vi ~/.bashrc

export KAFKA_HOME=/opt/software/kafka      
export PATH=$PATH:$KAFKA_HOME/bin

source ~/.bashrc

3.啓動zookeeper
zkServer.sh start
zkServer.sh status

4.啓動kafaka
kafka-server-start.sh /home/hadoop/apps/kafka/config/server.properties

5.創建topic
kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
解釋:
–zookeeper:zookeeper地址:端口
–replication-factor :副本數量
–partitions:分區數量
–topic:主題名稱

6.刪除topic
前提要求:
server.properties中設置
delete.topic.enable=true
kafka-topics.sh --delete --zookeeper localhost:2181 --topic test
刪除kafka存儲目錄(server.properties文件log.dirs配置,默認爲"/tmp/kafka-logs")相關topic目錄。刪除zookeeper "/brokers/topics/"目錄下相關topic節點

7.查看topic
kafka-topics.sh --list --zookeeper localhost:2181

8.查看指定topic的詳細信息
kafka-topics.sh --describe --zookeeper localhost:2181 --topic test
說明:{
partiton:分區:ID
leader:當前負責讀寫的lead broker idk
relicas:當前partition的所有replication broker
listisr:relicas的子集,只包含出於活動狀態的broker}

9.開啓生產者
開啓新窗口
kafka-console-producer.sh --broker-list localhost:9092 --topic test

10.開啓消費者
開啓新窗口
kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning

11.發送消息測試
在生產者一端輸入數據,在消費者一端可以接收到數據

Kafka集羣搭建

1.解壓
tar -xvf kafka_2.11-0.8.0.0.tgz -C /home/hadoop/apps/

2.配置環境變量
vi ~/.bashrc

export KAFKA_HOME=/opt/software/kafka      
export PATH=$PATH:$KAFKA_HOME/bin

source ~/.bashrc

3.修改server.properties配置文件
vi /home/hadoop/apps/kafka/config/server.properties
a. broker.id=0 (不同的機器值不同)
b. log.dirs=/home/hadoop/apps/kafka/kafka-logs (指定存儲目錄)
c. delete.topic.enable=true (設置可以刪除topic,該條配置放在log.dirs下面即可)
d. zookeeper.connect=hadoop1:2181,hadoop2:2181,hadoop3:2181 (zookeep集羣ip:port)
e. auto.create.topic.enable=true(自動創建topic)

4.將整個kafaka發送到其他子集羣
scp -r kafka_2.11-1.1.0/ hadoop2:/home/hadoop/apps/
scp -r kafka_2.11-1.1.0/ hadoop3:/home/hadoop/apps/

5.修改子集羣
a. 環境變量
b. server.properties文件的broker.id

6.啓動zookeeper集羣
在所有機器上
zkServer.sh start
zkServer.sh status

7.啓動kafaka集羣
在所有機器上
kafka-server-start.sh /home/hadoop/apps/kafka/config/server.properties

8.創建topic
kafka-topics.sh --create --topic shop --partitions 2 --replication-factor 3 --zookeeper hadoop1:2181,hadoop2:2181,hadoop3:2181
解釋:
–zookeeper:zookeeper地址:端口
–replication-factor :副本數量
–partitions:分區數量
–topic:主題名稱

9.刪除topic
前提要求:
server.properties中設置
delete.topic.enable=true
kafka-topics.sh --delete --zookeeper hadoop1:2181,hadoop2:2181,hadoop3:2181 --topic shop
刪除kafka存儲目錄(server.properties文件log.dirs配置,默認爲"/tmp/kafka-logs")相關topic目錄。刪除zookeeper "/brokers/topics/"目錄下相關topic節點

10.查看topic
kafka-topics.sh --list --zookeeper hadoop1:2181,hadoop2:2181,hadoop3:2181

11.查看指定topic的詳細信息
kafka-topics.sh --describe --zookeeper hadoop1:2181,hadoop2:2181,hadoop3:2181 --topic test
說明:{
partiton:分區:ID
leader:當前負責讀寫的lead broker idk
relicas:當前partition的所有replication broker
listisr:relicas的子集,只包含出於活動狀態的broker}

12.開啓生產者
開啓新窗口
kafka-console-producer.sh --broker-list hadoop1:9092,hadoop2:9092,hadoop3:9092 --topic shop

13.開啓消費者
開啓新窗口
kafka-console-consumer.sh --bootstrap-server hadoop1:9092,hadoop2:9092,hadoop3:9092 --topic shop --from-beginning

14.發送消息測試
在生產者一端輸入數據,在消費者一端可以接收到數據

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章