export IN=内网ip
export OUT=外网ip
部署zookeeper
docker run -d --name zookeeper -p 2181:2181 wurstmeister/zookeeper
部署kafka集群
docker run -d --name kafka2 -p 9092:9092
-e KAFKA_BROKER_ID=2
-e KAFKA_ZOOKEEPER_CONNECT=$IN:2181
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://$OUT:9092 #这个是外部访问时的地址
-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -t wurstmeister/kafka #这个是注册到zookeeper的地址
改一改端口和ip,这样两个节点就部署完了
docker run -d --name kafka3 -p 9093:9093
-e KAFKA_BROKER_ID=3
-e KAFKA_ZOOKEEPER_CONNECT=$IN:2181
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://$OUT:9093 #这个是外部访问时的地址
-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9093 -t wurstmeister/kafka #这个是注册到zookeeper的地址
进入kafka容器创建topic
docker exec -it kafka2 bash
#进入容器后
export IN=内网ip
$KAFKA_HOME/bin/kafka-topics.sh \
--create \
--zookeeper $IN:2181 \
--topic test_cluster_topic \
--replication-factor 2 \
--partitions 1
进入zookeeper容器查看
docker exec -it zookeeper bash
#进入容器后
cd $ZK_HOME
./bin/zkCli.sh
网友评论