Kafka集羣環境搭建

Kafka簡介

Kafka是一個分佈式、可分區、可複製的消息系統。Kafka將消息以topic爲單位進行歸納;Kafka發佈消息的程序稱爲producer,也叫生產者;Kafka預訂topics並消費消息的程序稱爲consumer,也叫消費者;當Kafka以集羣的方式運行時,可以由一個服務或者多個服務組成,每個服務叫做一個broker,運行過程中producer通過網絡將消息發送到Kafka集羣,集羣向消費者提供消息。

kafka消息傳遞

第一步:Kafka下載

下載地址:http://kafka.apache.org

下載下來爲kafka_2.12-1.0.0.tgz。請使用tar -zxvf /home/kafka_2.12-1.0.0.tgz解壓至/opt目錄

第二步:安裝前準備

IP及端口分配:    

IP

服務端口

10.100.104.135

9092

10.100.104.136

9092

10.100.104.137

9092

第三步:Kafka安裝

vim config/server.properties,修改kafka配置:server.properties
broker.id=1  ##注意集羣中不同機器上配置的數字”不能相同

num.partitions=4
host.name=10.100.104.136  ##注意集羣中不同機器上配置的IP不能相同
listeners=PLAINTEXT://10.100.104.136:9092  ##注意集羣中不同機器上配置的IP不能相同
advertised.listeners=PLAINTEXT://10.100.104.136:9092  ##注意集羣中不同機器上配置的IP不能相同
log.dirs=/opt/kafka_2.12-1.0.0/logs
zookeeper.connect=10.100.160.132:2181,10.100.160.133:2181,10.100.160.134:2181

第四步:啓動

執行命令:bin/kafka-server-start.sh -daemon config/server.properties

問題及解決方案

如果broker.id更換,需清空log目錄的所有文件:
cd /opt/kafka_2.12-1.0.0/logs
rm -rf *

測試

  1. 顯示所有topic
    bin/kafka-topics.sh --list --zookeeper 10.100.160.132:2181,10.100.160.133:2181,10.100.160.134:2181

  2. 創建測試用的topic,其中10.100.160.132:2181爲zookeeper 地址和端口
    bin/kafka-topics.sh --create --zookeeper 10.100.160.132:2181 --replication-factor 1 --partitions 4 --topic cmy_nbd_topic1
    執行會顯示出cmy_nbd_topic1

  3. 登錄一臺執行,然後輸入如 aaabbbccc 回車
    bin/kafka-console-producer.sh --broker-list 10.100.104.136:9092 --topic cmy_nbd_topic1
    aaabbbccc

  4. 登錄另外一臺執行,會收到aaabbbccc
    bin/kafka-console-consumer.sh --zookeeper 10.100.160.132:2181 --topic cmy_nbd_topic1 --from-beginning
    aaabbbccc

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