Docker容器安裝kafka

2021-10-05 04:39:39 字數 2171 閱讀 3545

docker run -d --name zookeeper -p 2181:2181 -t wurstmeister/zookeeper
docker run -d --name kafka -p 9092:9092 -e kafka_broker_id=0 -e kafka_zookeeper_connect=192.168.19.130:2181 -e kafka_advertised_listeners=plaintext: -e kafka_listeners=plaintext: -t wurstmeister/kafka
命令:

docker run -d --name kafka \ -p 9092:9092 \ -e kafka_broker_id=0 \ -e kafka_zookeeper_connect=192.168.204.128:2181 \ -e kafka_advertised_listeners=plaintext: \ -e kafka_listeners=plaintext: -t wurstmeister/kafka
這裡面主要設定了4個引數

kafka_broker_id=0 kafka_zookeeper_connect=192.168.204.128:2181 kafka_advertised_listeners=plaintext: kafka_listeners=plaintext:
中間兩個引數的192.168.204.128改為宿主機器的ip位址,如果不這麼設定,可能會導致在別的機器上訪問不到kafka

進入kafka容器的命令列

docker exec -ti kafka /bin/bash
進入kafka所在目錄

cd opt/kafka_2.12-1.1.0/
使用docker命令可快速在同一臺機器搭建多個kafka,只需要改變brokerid和埠

docker run -d --name kafka1 \ -p 9093:9093 \ -e kafka_broker_id=1 \ -e kafka_zookeeper_connect=192.168.204.128:2181 \ -e kafka_advertised_listeners=plaintext: \ -e kafka_listeners=plaintext: -t wurstmeister/kafka
在kafka容器中的opt/kafka_2.12-1.1.0/目錄下輸入

bin/kafka-topics.sh --create --zookeeper 192.168.204.128:2181 --replication-factor 2 --partitions 2 --topic partopic
6. 檢視topic的狀態

在kafka容器中的opt/kafka_2.12-1.1.0/目錄下輸入

bin/kafka-topics.sh --describe --zookeeper 192.168.204.128:2181 --topic partopic
輸出結果:

topic:partopic partitioncount:2 replicationfactor:2 configs: topic: partopic partition: 0 leader: 0 replicas: 0,1 isr: 0,1 topic: partopic partition: 1 leader: 0 replicas: 1,0 isr: 0,1
顯示每個分割槽的leader機器為broker0,在broker0和1上具有備份,isr代表存活的備份機器中存活的。

當停掉kafka1後,

docker stop kafka1
再檢視topic狀態,輸出結果:

topic:partopic partitioncount:2 replicationfactor:2 configs: topic: partopic partition: 0 leader: 0 replicas: 0,1 isr: 0 topic: partopic partition: 1 leader: 0 replicas: 1,0 isr: 0

docker容器下安裝kafka例項

docker 環境的安裝可以參考 docker簡介和linux下安裝 進入正題 docker pull wurstmeister zookeeper啟動執行zookeeper映象的例項 docker run d name zookeeper 01 p 2181 2181 t wurstmeister...

docker容器安裝

docker 可以讓開發者打包他們的應用以及依賴包到乙個輕量級 可移植的容器中,然後發布到任何流行的 linux 機器上,也可以實現虛擬化。重啟docker服務 systemctl restart docker.service 拉取映象 tomcat mysql docker pull tomcat...

docker 安裝kafka 快速

docker pull wurstmeister zookeeper docker pull wurstmeister kafka 啟動映象 docker run d name zookeeper publish 2181 2181 volume etc localtime etc localtim...