Kafka集群搭建


1、zookeeper搭建
  Kafka集群依賴zookeeper,需要提前搭建好zookeeper
  zookeeper快速搭建推薦地址: http://nileader.blog.51cto.com/1381108/795230
2、下載Kafka
# wget https://mirror.bit.edu.cn/apache/kafka/0.9.0.1/kafka_2.11-0.9.0.1.tgz
    kafka_2.11-0.9.0.1.tgz    //其中2.11為Scala的版本,0.9.0.1為kafka版本
3、解壓
# tar zxf kafka_2.11-0.9.0.1.tgz -C /usr/local/
# cd /usr/local/
# mv kafka_2.11-0.9.0.1/ kafka/
4、配置
# vi /usr/local/kafka/config/server.properties
  broker.id=2    //broker的ID,集群中每個broker ID不可相同
  listeners=PLAINTEXT://:9092    //監聽器,端口號和port一致即可
  port=9092      //Broker的監聽端口
  host.name=IP地址    //必須填寫當前服務器IP地址
  advertised.host.name=IP地址    //必須填寫當前服務器IP地址
  zookeeper.connect=zookeeper-01:2181,zookeeper-02:2181,zookeeper-03:2181    //zookeeper的地址    

 

5、配置Kafka的環境變量
# vim /etc/profile
  export KAFKA_HOME=/usr/local/kafka
  export PATH=$PATH:$KAFKA_HOME/bin
# source /etc/profile
6、啟動Kafka
# kafka-server-start.sh -daemon $KAFKA_HOME/config/server.properties
  官方推薦啟動方式:
# /usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server.properties &

但這種方式退出shell后會自動斷開

7、驗證
# jps
    2256 Jps
    2237 Kafka
看到Kafka的進程,說明Kafka已經啟動
8、創建topic
    創建名為test,partitions為3,replication為3的topic
# kafka-topics.sh --create --zookeeper zookeeper-01:2181,zookeeper-02:2181,zookeeper-03:2181 --partitions 3 --replication-factor 3 --topic test
    查看topic狀態
# kafka-topics.sh --describe --zookeeper zookeeper-01:2181,zookeeper-02:2181,zookeeper-03:2181 --topic test
  Topic:test PartitionCount:3 ReplicationFactor:3 Configs:
  Topic: test Partition: 0 Leader: 3 Replicas: 3,1,2 Isr: 3,1,2
  Topic: test Partition: 1 Leader: 1 Replicas: 1,2,3 Isr: 1,2,3
  Topic: test Partition: 2 Leader: 2 Replicas: 2,3,1 Isr: 2,3,1

   狀態說明:test有三個分區分別為1、2、3,分區0的leader是3(broker.id),分區0有三個副本,並且狀態都為lsr(ln-sync,表示可以參加選舉成為leader)。

    刪除topic
    在config/server.properties中加入delete.topic.enable=true並重啟服務,在執行如下命令
# kafka-topics.sh --delete --zookeeper zookeeper-01:2181,zookeeper-02:2181,zookeeper-03:2181 --topic test
9、測試使用Kafka
    發送消息
# kafka-console-producer.sh --broker-list zookeeper-01:9092,zookeeper-02:9092,zookeeper-03:9092 --topic test
輸入以下信息:
  This is a message
  This is another message
    接收消息
# kafka-console-consumer.sh --zookeeper zookeeper-01:2181,zookeeper-02:2181,zookeeper-03:2181 --topic test --from-beginning    //--from-beginning 表示從開始第一個消息開始接收
    若看到上輸入的信息說明已經搭建成功。
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM