版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/chen517611641/article/details/79756053
QuickStart
- 安装Docker和Compose
- 将docker-compose.yml中的KAFKA_ADVERTISED_HOST_NAME环境变量配置为Docker宿主机的IP地址
- 启动集群
$ docker-compose up
- 扩展多个Broker
$ docker-compose scale kafka=2
- 启动zookeeper容器
sudo docker run -d -p 8080:8080 -e ZK_DEFAULT_NODE=<DOCKER_HOST_IP>:2181 --net=kafkadocker_default --name zk-web -t tobilg/zookeeper-webui
访问localhost:8080,查看zookeeper中相关的内容验证kafka的功能;
5. 启动Kafka Shell容器
$ start-kafka-shell.sh <DOCKER_HOST_IP> <ZK_HOST:ZK_PORT>
- docker exec登陆进Kafka Shell容器执行如下命令验证Kafka实例可用性
$ $KAFKA_HOME/bin/kafka-topics.sh --create --topic topic --partitions 4 --zookeeper $ZK --replication-factor 2
$ $KAFKA_HOME/bin/kafka-topics.sh --describe --topic topic --zookeeper $ZK
$ $KAFKA_HOME/bin/kafka-console-producer.sh --topic=topic --broker-list=`broker-list.sh`
$ $KAFKA_HOME/bin/kafka-console-consumer.sh --topic=topic --zookeeper=$ZK
Notice
关闭防火墙;
Refrence
wurstmeister/kafka(dockerhub)
wurstmeister/kafka-docker(github)
Kafka Docker Run multiple Kafka brokers in Docker
qiuxiafei/zk-web(github)
tobilg/zookeeper-webui(dockerhub)