1.拉取zookeeper镜像
注意:云服务器需要设置安全策略放行2181与9092端口,否则访问失败
#默认拉取最新版本镜像
docker pull wurstmeister/zookeeper
#检查镜像是否拉取成功
docker images | grep zookeeper
2.通过docker运行zookeeper
#docker容器单机启动
docker run -d --name zookeeper -p 2181:2181 -t wurstmeister/zookeeper
#检查zookeeper是否运行成功
docker ps | grep zookeeper
#若是服务异常,则查日志,最后100行
docker logs -f -t --tail 100 zookeeper
3.拉取kafka镜像
#默认拉取最新版本
docker pull wurstmeister/kafka
#检查kafka是否拉取成功
docker images | grep kafka
4.通过docker运行kafka
#单机启动
docker run -d --name kafka \
-p 9092:9092 \
-e KAFKA_BROKER_ID=0 \
-e KAFKA_ZOOKEEPER_CONNECT= X.X.X.X(本机ip地址):2181 \
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://X.X.X.X(本机ip地址):9092 \
-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 wurstmeister/kafka
#检查kafka是否运行成功
docker ps | grep kafka
#若是服务异常,则查日志,最后100行
docker logs -f -t --tail 100 kafka
#进入容器内部
docker exec -it kafka /bin/bash
cd opt/kafka/bin
#创建topic,测试使用
./kafka-topics.sh --create --zookeeper X.X.X.X(本机ip地址):2181 --replication-factor 1 --partitions 1 --topic kafka_test
#查看topic是否创建成功
./kafka-topics.sh --list --zookeeper X.X.X.X(本机ip地址):2181
#--新开一个窗口,运行生产者
./kafka-console-producer.sh --broker-list X.X.X.X(本机ip地址):9092 --topic kafka_test
#再新开窗口运行消费者,监控消费情况
./kafka-console-consumer.sh --bootstrap-server X.X.X.X(本机ip地址):9092 --topic kafka_test --from-beginning
其他命令:
#查看某个组的消费情况
./kafka-consumer-groups.sh --zookeeper X.X.X.X(本机ip地址):2181 --describe --group groupName
#查看目前所有的消费者组
./kafka-consumer-groups.sh --list --bootstrap-server X.X.X.X(本机ip地址):9092