Docker部署Kafka入門實戰

  1. 首先拉取zookeeper的鏡像
    docker pull wurstmeister/zookeeper
  2. 啓動zookeeper的鏡像容器
     
    docker run -d --name zookeeper -p 2181:2181 -t wurstmeister/zookeeper

     

  3. 拉取kafka的鏡像
    docker pull wurstmeister/kafka
  4. 啓動運行Zookeeper鏡像的實例 
    docker run  -dit --name kafka_01 -p 9092:9092 -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=192.168.136.136:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.136.136:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -t wurstmeister/kafka

     

備註:  拉取鏡像有時候可能不成功 , 查看下有沒有使用阿里雲的鏡像, 如下: 

sudo vim /etc/docker/daemon.json 查看文件 , 並更新成阿里雲鏡像, 最後重啓docker,  systemctl restart docker即可

{
 "registry-mirrors":["https://6kx4zyno.mirror.aliyuncs.com"]
}
  • 測試發送消息

  1. 首先進入容器內部, 並進入kafka目錄
    docker exec -it kafka /bin/bash
    cd /opt/kafka_2.12-2.4.1      #查找有kafka-topics.sh的bin目錄下即可

     

  2. 創建一個主題, topic名爲 'mykafka'
    bin/kafka-topics.sh --create --zookeeper 192.168.136.136:2181 --replication-factor 1 --partitions 1 --topic mykafka
  3. 查看是否創建topic成功
    bin/kafka-topics.sh --list --zookeeper 192.168.136.136:2181

     

  4. 運行一個消息生產者, 指定topic爲剛剛創建的主題
    bin/kafka-console-producer.sh --broker-list 192.168.136.136:9092 --topic mykafka

     

  5. 新開一個linux命令窗口, 運行一個消息消費者, 指定同樣的主題
    bin/kafka-console-consumer.sh --bootstrap-server 192.168.136.136:9092 --topic mykafka --from-beginning

     

  6. 在生產者命令窗口輸入信息 , 在消費者命令窗口則可以收到消息了, 如下圖所示:

    生產者: 分別輸入 aaa 和 bbb

    消費者: 接收到 aaa 和 bbb

  • 總結

以上就是使用Docker部署Kafka 入門案列的簡單步驟 , 每次發消息都需要指定一個topic (主題) , 生產者發送一個消息 , 消費者接收一個消息 , Kafka 的 深入理解 和 集羣複雜案列後續會更新

 

 

 

 

 

 

 

 

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