KafKa基於Zookeeper集羣安裝

一、依賴:

Kafka依賴於Zookeeper,並且內置Zookeeper,我們可以選擇獨立部署Zookeeper或者使用自帶的Zookeeper。這邊我使用了Kafka內置的Zookeeper;關於Zookeeper部署和配置這邊不會詳細說明,如果有不明白的可以看這邊博文:利用VMware在虛擬機上安裝Zookeeper集羣


二、下載:

  1.  kafka_2.11-0.10.0.0.tgz可以到我的CSDN下載:kafka_2.11-0.10.0.0.tgz或者到官網下載:http://kafka.apache.org/downloads.html
  2. 將下載的kafka_2.11-0.10.0.0.tgz包用rz命令上傳(我用的是XShell,你也可以使用winSCP等工具)我這邊上傳到/usr/local下,並已經使用命令解壓(tar -zxvf kafka_2.11-0.10.0.0.tgz)。三臺都如此!


三、配置:

zookeeper.properties:基於利用VMware在虛擬機上安裝Zookeeper集羣,先配置/usr/local/kafka_2.11-0.10.0.0/config下的zookeeper.properties:



還漏了點配置:
tickTime=2000
initLimit=10
syncLimit=5


server.properties:從上到下配置
  1. Broker的ID:broker.id=1;(每個Broker保持唯一,可從0開始遞增編號,我這邊爲了和上面的server.1保持一致所以從1開始)。

  2. 日誌地址:定義成你想保存的地址:我這邊統一到:/usr/local/kafka/logs下(你沒有可以自己創建):



  3. 分區數目:默認num.partitions=1,一般情況下等於broker數量,所以我改成3

  4. Zookeeper連接地址:將集羣中的Zookeeper地址配入,以逗號隔開:


四、啓動:

  1. 先啓動zookeeper:
    nohup /usr/local/kafka_2.11-0.10.0.0/bin/zookeeper-server-start.sh /usr/local/kafka_2.11-0.10.0.0/config/zookeeper.properties &
    可以到單獨安裝的Zookeeper的bin目錄下使用命令查看Zookeeper啓動狀態(是否成功):./zkServer.sh status


  2. 啓動Kafka:
    nohup /usr/local/kafka_2.11-0.10.0.0/bin/kafka-server-start.sh /usr/local/kafka_2.11-0.10.0.0/config/server.properties &

五、驗證:

  1. 創建topic:在zookeeper1上創建了一個叫testtopic的主題。
    /usr/local/kafka_2.11-0.10.0.0/bin/kafka-topics.sh --create --topic testtopic --zookeeper zookeeper1:2181 --replication-factor 3 --partition 3


  2. 查看所創建的topic:1中創建的topic,因爲是集羣,所以應該在zookeeper2上可以查看到:
    /usr/local/kafka_2.11-0.10.0.0/bin/kafka-topics.sh --zookeeper zookeeper2:2181 --list



  3. 創建發佈者producer:在zookeeper1上創建一個發佈者:
    /usr/local/kafka_2.11-0.10.0.0/bin/kafka-console-producer.sh -broker-list zookeeper1:9092 -topic testtopic



  4. 創建消費者consumer:在zookeeper2、zookeeper3上分別創建消費者:發佈者發到對應topic下的內容會被對應的消費者接收到
    /usr/local/kafka_2.11-0.10.0.0/bin/kafka-console-consumer.sh -zookeeper zookeeper2:2181 -from-beginning -topic testtopic
    /usr/local/kafka_2.11-0.10.0.0/bin/kafka-console-consumer.sh -zookeeper zookeeper3:2181 -from-beginning -topic testtopic




  5. producer進行發佈:在3中創建的發佈者在控制檯等待輸入,輸入需要發佈的內容後點擊回車,消息就被髮布出去了。

  6. consumer進行訂閱:在4中創建的消費者在控制檯會輸出對應集羣中特定topic下由發佈者發出的消息




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