docker-搭建 kafka+zookeeper集群

  • 拉取容器
          docker pull wurstmeister/zookeeper
          docker pull wurstmeister/kafka
 
 
这里演示使用,只部署单节点。如需高可用,则最好部署多台zk节点
默认容器内配置文件在/conf/zoo.cfg,数据和日志目录默认在/data 和 /datalog,需要的话可以将上述目录映射到宿主机的可靠文件目录下
docker run -d --name zookeeper -p 2181:2181 -t wurstmeister/zookeeper
 
  • kafka集群安装

使用docker命令可快速在同一台机器搭建多个kafka,只需要改变端口即可
节点1
# 此处zk地址不能使用127.0.0.1或者localhost 如果IP变了之后需要重新生成容器
# 端口 2181 即zk地址
 
docker run  -d --name kafka1 -p 9092:9092 -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=192.168.33.30:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.33.30:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -t wurstmeister/kafka
 
 
节点2
docker run  -d --name kafka2 -p 9093:9093 -e KAFKA_BROKER_ID=1 -e KAFKA_ZOOKEEPER_CONNECT=192.168.33.30:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.33.30:9093 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9093 -t wurstmeister/kafka
 
节点3
docker run  -d --name kafka3 -p 9094:9094 -e KAFKA_BROKER_ID=2 -e KAFKA_ZOOKEEPER_CONNECT=192.168.33.30:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.33.30:9094 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9094 -t wurstmeister/kafka
 
最终kafka集群搭建完成,对应端口为 9092、9093、9094 通过命令docker ps
docker-搭建 kafka+zookeeper集群
  • kafka-manager安装

# 根据自己需要 确认是否增加restart参数 由于本人公司和家里IP不同,所以没加此参数
# --restart=always 在容器退出时总是重启容器
docker run -itd --name=kafka-manager -p 9000:9000 -e ZK_HOSTS="192.168.33.30:2181" sheepkiller/kafka-manager

topic创建

访问 localhost:9000
创建集群界面
docker-搭建 kafka+zookeeper集群
如下图所示 其他默认值即可
docker-搭建 kafka+zookeeper集群
topic创建界面
docker-搭建 kafka+zookeeper集群
只需填写topic名字即可
docker-搭建 kafka+zookeeper集群
topic列表
docker-搭建 kafka+zookeeper集群
 
 
 
 
上一篇:nginx配置实例


下一篇:消息中间件kafka+zookeeper集群部署、测试与应用