1. 下载镜像
# zookeeper镜像
docker pull wurstmeister/zookeeper
# kafka镜像
docker pull wurstmeister/kafka
# kafka管理镜像
docker pull sheepkiller/kafka-manager
2. 已下载的镜像
3. zookeeper安装
docker run -d --name zookeeper -p 2181:2181 wurstmeister/zookeeper
查看zookeeper启动日志
4. kafka安装
docker run -d --name kafka \
--env KAFKA_ADVERTISED_HOST_NAME=localhost \
--env KAFKA_ZOOKEEPER_CONNECT=172.17.0.8:2181 \
--env KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://172.17.0.8:9092 \
--env KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 \
--env KAFKA_HEAP_OPTS="-Xmx256M -Xms128M" \
--net=host wurstmeister/kafka
注意
1、172.17.0.8是宿主机ip
2、–net=host 表示使用与宿主机网络模式(网络模式有很多种,详细介绍见: Docker:网络模式详解)
查看kafka启动日志
docker logs -f kafka
验证:
进入kafka容器
docker exec -it kafka /bin/bash
# 进入kafka的bin目录
cd /opt/kafka_2.12-2.2.0/bin/
新建一个test主题,并以生产者身份进行消息生产
./kafka-topics.sh --create --zookeeper 172.17.0.8:2181 --replication-factor 1 --partitions 1 --topic test
./kafka-console-producer.sh --broker-list 172.17.0.8:9092 --topic test
>hello # 发送一条消息并回车
>world
打开一个新的ssh连接,同样进入kafka容器,模拟消费者接收消息
docker exec -it kafka /bin/bash
# 进入kafka的bin目录
cd /opt/kafka_2.12-2.2.0/bin/
# 以消费者身份接收消息
./kafka-console-consumer.sh --bootstrap-server 172.17.0.8:9092 --topic test --from-beginning
hello # 成功接收到消息
world
不断在生产者端发送消息,消费者端可以不断的接收到消息。kafka安装成功!
5. kafka-manager安装
docker run -d --name kafka-manager -e ZK_HOSTS="172.17.0.8:2181" --net=host sheepkiller/kafka-manager
访问:http://172.17.0.8:9000,并添加一个cluster即可。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/5281.html