docker部署zookeeper和kafka
zookeeper
sh
firewall-cmd --zone=public --add-port=2181/tcp --permanent
firewall-cmd --reload
docker pull zookeeper:3.4.14
docker run -d --name zk -p 2181:2181 zookeeper:3.4.14
sh
mkdir -p /root/zookeeper/data
mkdir /root/zookeeper/log
docker run -u root --privileged=true \
-d --name zk -p 2181:2181 -v /root/zookeeper/data:/data -v /root/zookeeper/log:/datalog zookeeper:3.4.14
# idea连接zk可以安装插件:zookeeper
kafka
旧版:需要依赖zk,2019年版
sh
firewall-cmd --zone=public --add-port=9092/tcp --permanent
firewall-cmd --reload
docker pull wurstmeister/kafka:2.12-2.3.1
docker run -d --name kafka -p 9092:9092 \
--link zk:zk \
-e KAFKA_BROKER_ID=0 \
-e KAFKA_ZOOKEEPER_CONNECT=zk:2181 \
-e HOST_IP=111.173.105.157 \
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://主机ip:9092 \
-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 \
-t wurstmeister/kafka:2.12-2.3.1
#-v /root/kafka/config:/opt/kafka/config \
#-e KAFKA_HEAP_OPTS="-Xmx256M -Xms256M"
# 对客户端暴露的ip:KAFKA_ADVERTISED_LISTENERS
# 可视化工具:kafka tool
新版:不需要依赖zk
sh
docker run -itd \
-p 9092:9092 \
--name kafka apache/kafka:3.7.0
# 进入该容器默认用户不是root,无法修改/etc/kafka/docker/server.properties文件
# 以root用户身份进入容器
docker exec --user root -it kafka bash
# 修改server.properties文件,解决外部客户端无法访问kafka
advertised.listeners=PLAINTEXT://主机的ip:9092
kafka-eagle
访问地址:http://127.0.0.1:8048/topic/list,其默认账号/密码为admin/123456。
sh
docker pull nickzurich/efak:latest
docker run -d --name kafka-eagle -p 8048:8048 -e EFAK_CLUSTER_ZK_LIST="zk集群ip:2181" nickzurich/efak:latest