简单明了,直接上步骤,首先,虚拟机环境,centos,docker都已搞定。略过,直接操作部署kafka.
1.拉镜像
docker pull wurstmeister/zookeeper
docker pull wurstmeister/kafka
2.准备docker-compose.yml文件,放到指定目录,此处放在,home/dockerkafka目录下,文件内容:
version: '3'
services:
zookeeper:
image: wurstmeister/zookeeper
ports:
- "2181:2181"
kafka:
image: wurstmeister/kafka
depends_on: [ zookeeper ]
ports:
- "9092:9092"
environment:
KAFKA_ADVERTISED_HOST_NAME: 自己的ip
KAFKA_CREATE_TOPICS: "test"
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
volumes:
- /data/product/king_bigdata/data/kafka/docker.sock:/var/run/docker.sock
kafka-manager:
image: sheepkiller/kafka-manager ## 镜像:开源的web管理kafka集群的界面
environment:
ZK_HOSTS: "zookeeper:2181" ## 修改:宿主机IP
ports:
- "9000:9000" ## 暴露端口
depends_on:
- zookeeper
- kafka
image.png
image.png
进入home/dockerkafka目录下,执行命令:
1.docker-compose build (编译,打包)
2.docker-compose up -d (启动服务)
image.png
1.进入kafka容器:
docker exec -it d4bd903e4530 bash
2.创建topic
--dockerkafka_zookeeper_1 ( zook容器名)
$KAFKA_HOME/bin/kafka-topics.sh --create --topic moni --partitions 4 --zookeeper dockerkafka_zookeeper_1:2181 --replication-factor 1
3.查看主题信息
-- dockerkafka_zookeeper_1 (zook容器名)
$KAFKA_HOME/bin/kafka-topics.sh --zookeeper dockerkafka_zookeeper_1:2181 --describe --topic moni
4.测试发送消息
-- dockerkafka_kafka_1(kafka容器名)
$KAFKA_HOME/bin/kafka-console-producer.sh --topic=moni --broker-list dockerkafka_kafka_1:9092
5.测试接收消息
-- dockerkafka_kafka_1(kafka容器名)
$KAFKA_HOME/bin/kafka-console-consumer.sh --bootstrap-server dockerkafka_kafka_1:9092 --from-beginning --topic moni
图示:
image.png
访问 ip:9000 如图:
image.png
关于kafka-manager部署的时候,会出现错误:
Yikes! Ask timed out on [ActorSelection[Anchor(akka://kafka-manager-system/), Path(/user/kafka-manager)]] after [5000 ms]
网上参差不齐,各种办法,这里说下我这里一开始部署,报错,是因为compose的yml文件中,
配置的ZK_HOSTS: "zookeeper:2181" ,原来是ZK_HOSTS: ip,还试过,ZK_HOSTS: ip:2181,都报错,最后有进入容器中修改application.conf文件,都没解决。最后改成如上配置,重新启动,问题解决。
注意:kafka-manager不支持硬盘挂载
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。