記使用docker配置kafka


1.kafka需要依賴zookeeper使用了wurstmeister/kafka和wurstmeister/zookeeper這兩個版本的鏡像

  1、docker pull wurstmeister/zookeeper  

  2、docker pull wurstmeister/kafka

2.啟動zookeeper

  1.docker run -it --name  zookeeper  -p 2181:2181 -d wurstmeister/zookeeper

3.啟動kafka命令

  1.docker run -d   --name kafka -p 9092:9092 -e KAFKA_BROKER_ID=1 -e KAFKA_auto_create_topics_enable=true  -e KAFKA_HEAP_OPTS="-Xmx256M -Xms128M" -e     KAFKA_ZOOKEEPER_CONNECT=公網ip:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://公網ip:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -t wurstmeister/kafka 

  /配置分組id

  KAFKA_BROKER_ID=1

  //開啟自動創建主題(不然代碼整合服務后啟動報錯,必須自己手動到服務上創建)

  KAFKA_auto_create_topics_enable=true

  //連接zookeeper

  KAFKA_ZOOKEEPER_CONNECT=公網ip:2181

  //默認內存1G自己服務器太小,調小一點不然啟動報錯內存溢出(此處也比較坑)

  KAFKA_HEAP_OPTS="-Xmx256M -Xms128M"

  //配置外網ip訪問kafka

  KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://公網ip:9092

4.啟動無法訪問外網問題

  1.進入hosts文件

    vi /etc/hosts

    //添加公網ip

    公網ip

5.測試

  進入kafka

  docker exec it kafka /bin/bash

  cd opt/kafka

  創建主題

  bin/kafka-topics.sh --create --zookeeper 公網ip:2181 --replication-factor 1 --partitions 1 --topic hello

  查看主題列表:

  bin/kafka-topics.sh --list --zookeeper 公網ip:2181 

  運行一個消息生產者,指定topic為剛剛創建的主題:

  bin/kafka-console-producer.sh --broker-list 公網ip:9092 --topic hello

  創建kafka消費者(這是新版本創建消費者,老版本是使用zookeeper)

  bin/kafka-console-consumer.sh --bootstrap-server公網ip:9092 --topic mykafka --from-beginning 

記錄一下自己配置過程中踩得一些坑

 


免責聲明!

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



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