安装zookeeper及kafka集群
安装zookeeper及kafka集群不废话直接开始,请提前准备好镜像或者拉取新版本镜像# 拉取镜像docker pull zookeeper:3.4.9docker pull kafka:2.13-2.7.0# 拉取完毕后查看docker imagesREPOSITORYTAGIMAGE IDCREATEDSIZEkafka2.13-2.7.0
·
安装zookeeper及kafka集群
搭建zookeeper
不废话直接开始,请提前准备好镜像或者拉取新版本镜像
# 拉取镜像
docker pull wurstmeister/zookeeper
docker pull wurstmeister/kafka
# 拉取完毕后查看
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
wurstmeister/kafka latest c3b059ede60e 4 months ago 507MB
zookeeper latest 3b83d9104a4c 4 years ago 129MB
# 启动
docker run --name zookeeper -d --restart=always -p 2181:2181 -p 2888:2888 -p 3888:3888 wurstmeister/zookeeper:latest
1b3491a1055a0bb6a2569ff14d1065c7121f2b783c7af863d26c434574ddfc15
# 进入容器
docker exec -it zookeeper bash
pwd
/opt/zookeeper-3.4.13
# 进入conf文件夹,修改zoo.cfg,在最下方添加
vi zoo.cfg
server.1=0.0.0.0:2888:3888
server.2=192.168.119.145:2888:3888
server.3=192.168.119.146:2888:3888
# 另外两台一样添加
# 第二台
server.1=192.168.119.144:2888:3888
server.2=0.0.0.0:2888:3888
server.3=192.168.119.146:2888:3888
# 第三台
server.1=192.168.119.144:2888:3888
server.2=192.168.119.145:2888:3888
server.3=0.0.0.0:2888:3888
请修改本机所在节点的ip为0.0.0.0
而我当前节点是server.1,则ip修改为0.0.0.0
修改完毕后添加myid文件内的值为1
# 第一台
echo 1 > data/myid
# 第二台
echo 2 > data/myid
# 第三台
echo 3 > data/myid
到此我们就配置好了,重新启动zookeeper容器即可。
docker restart zookeeper
接下来验证集群
./bin/zkServer.sh status
# 可以看到集群状态
# server.1
Mode: follower
# server.2
Mode: follower
# server.3
Mode: leader
集群搭建完毕
搭建kafka
# 运行准备好的镜像
# 1
docker run -d --restart=always --name kafka -p 9092:9092 -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=192.168.119.144:2181,192.168.119.145:2181,192.168.119.146:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.119.144:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -d wurstmeister/kafka:latest
# 2
docker run -d --restart=always --name kafka -p 9092:9092 -e KAFKA_BROKER_ID=1 -e KAFKA_ZOOKEEPER_CONNECT=192.168.119.144:2181,192.168.119.145:2181,192.168.119.146:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.119.145:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -d wurstmeister/kafka:latest
# 3
docker run -d --restart=always --name kafka -p 9092:9092 -e KAFKA_BROKER_ID=2 -e KAFKA_ZOOKEEPER_CONNECT=192.168.119.144:2181,192.168.119.145:2181,192.168.119.146:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.119.146:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -d wurstmeister/kafka:latest
# 查看zookeeper
docker exec -it zookeeper bash
./bin/zkCli.sh
ls /brokers/ids
[2, 1, 0]
# 创建topic
# 进入容器
docker exec -it kafka bash
cd /opt/kafka/
./bin/kafka-topics.sh --create --zookeeper 192.168.119.144:2181 --topic test --partitions 1 --replication-factor 1
Created topic test.
# 到另外两台查看新创建的test
# 查看topics
# 192.168.119.145
./bin/kafka-topics.sh --list --zookeeper 192.168.119.145:2181
test
# 192.168.119.145
./bin/kafka-topics.sh --list --zookeeper 192.168.119.146:2181
test
test
# 写(CTRL+D结束写内容)
# 192.168.119.144
./bin/kafka-console-producer.sh --broker-list 192.168.119.144:9092 --topic test
>hello
>这是一个帅比
# 读(CTRL+C结束读内容)
# 192.168.119.146
./bin/kafka-console-consumer.sh --bootstrap-server 192.168.119.146:9092 --topic test --from-beginning
hello
这是一个帅比
完成!
更多推荐
已为社区贡献1条内容
所有评论(0)