安装zookeeper及kafka集群

安装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
这是一个帅比

在这里插入图片描述

完成!

猜你喜欢

转载自blog.csdn.net/YourMr/article/details/121040369