【zookeeper&&kafka单机伪集群搭建,使用 kafka 3.2.0 自带的 3.6.3 zookeeper】

版本说明

使用 kafka 3.2.0 自带的zookeeper,
zookeeper.version=3.6.3

一 zookeeper单机伪集群搭建

1.下载

使用清华镜像,比官网快
https://mirrors.tuna.tsinghua.edu.cn/apache/kafka/3.2.0/

2.配置

#安装目录为 /usr/local/kafka/kafka_2.13-3.2.0
cd /usr/local
mkdir kafka
cd kafka
tar -zxf kafka_2.12-3.2.0.tgz
#进入配置文件目录 
cd /kafka_2.12-3.2.0/config
# 先编辑一份配置文件,复制两份配置文件,共三份三个节点
vim zookeeper.properties
mv zookeeper.properties zookeeper1.properties
cp zookeeper1.properties zookeeper2.properties
cp zookeeper1.properties zookeeper3.properties
#节点1配置文件
clientPort=2181
tickTime=2000
initLimit=10
syncLimit=5
server.1=127.0.0.1:2287:3387
server.2=127.0.0.1:2288:3388
server.3=127.0.0.1:2289:3389
dataDir=/usr/local/kafka/zk1/data
dataLogDir=/usr/local/kafka/zk1/logs
#228722882289为zookeeper节点之间的通信端口,338733883389为用来选举leader的端口
#clientPort=2181 才是往kafka中配置的端口,我踩坑了很久
#节点2配置文件
clientPort=2182
tickTime=2000
initLimit=10
syncLimit=5
server.1=127.0.0.1:2287:3387
server.2=127.0.0.1:2288:3388
server.3=127.0.0.1:2289:3389
dataDir=/usr/local/kafka/zk2/data
dataLogDir=/usr/local/kafka/zk2/logs
#节点3配置文件
clientPort=2183
tickTime=2000
initLimit=10
syncLimit=5
server.1=127.0.0.1:2287:3387
server.2=127.0.0.1:2288:3388
server.3=127.0.0.1:2289:3389
dataDir=/usr/local/kafka/zk3/data
dataLogDir=/usr/local/kafka/zk3/logs
#为节点配置不同的数据目录
cd /usr/local/kafka
#节点1
mkdir zk1
cd zk1 
mkdir data
cd data
echo 1 > myid
#节点2
mkdir zk2
cd zk2 
mkdir data
cd data
echo 2 > myid
#节点3
mkdir zk3
cd zk3 
mkdir data
cd data
echo 3 > myid

2.启动

#回到目录
cd /usr/local/kafka/kafka_2.13-3.2.0
#启动命令
#启动节点1
nohup ./bin/zookeeper-server-start.sh ./config/zookeeper1.properties > ../zk1/zk.log 2>&1 &
#间隔几秒后 启动节点2
nohup ./bin/zookeeper-server-start.sh ./config/zookeeper2.properties > ../zk2/zk.log 2>&1 &
#间隔几秒后 启动节点3
nohup ./bin/zookeeper-server-start.sh ./config/zookeeper3.properties > ../zk3/zk.log 2>&1 &
#通过查看 zk.log 查看启动日志
cat ../zk1/zk.log
cat ../zk2/zk.log
cat ../zk3/zk.log

二 zookeeper单机伪集群搭建

1.配置

#进入配置文件目录 
cd /usr/local/kafka/kafka_2.13-3.2.0/config
# 先编辑一份配置文件,复制两份配置文件,共三份三个节点
vim server.properties
mv server.properties server1.properties
cp server1.properties server2.properties
cp server1.properties server3.properties
#节点1配置文件
# broker 的全局唯一编号,不能重复,只能是数字。
broker.id=1
# kafka监听的ip,端口
listeners=PLAINTEXT://127.0.0.1:8880
# 处理网络请求的线程数量
num.network.threads=3
# 用来处理磁盘 IO 的线程数量
num.io.threads=8
# 发送套接字的缓冲区大小
socket.send.buffer.bytes=102400
#接收套接字的缓冲区大小
socket.receive.buffer.bytes=102400
#请求套接字的缓冲区大小
socket.request.max.bytes=104857600
############################# Log Basics #############################
# kafka 数据存放的路径,可以配置多个磁盘路径,路径与路径之间可以用","分隔
log.dirs=/usr/local/kafka/kafka_logs/broker1_8880
# topic在当前broker上的分区个数
num.partitions=1
# 用来恢复和清理data下数据的线程数量
num.recovery.threads.per.data.dir=1
############################# Internal Topic Settings  #############################
# 每个topic创建时的副本数,默认是1个副本
offsets.topic.replication.factor=1
############################# Log Retention Policy #############################
# segment文件保留的最长时间,超时将被删除
log.retention.hours=168
# 每个segment文件的大小,默认最大1G
log.segment.bytes=1073741824
# 检查过期数据的时间,默认5分钟检查一次是否数据过期
log.retention.check.interval.ms=300000
#自动创建topic
auto.create.topics.enable=true
#允许永久删除topic
delete.topic.enable=true
############################# Zookeeper #############################
#配置连接 Zookeeper 集群地址(在zk根目录下创建/kafka,方便管理)
zookeeper.connect=127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183/kafka
#节点2配置文件
# broker 的全局唯一编号,不能重复,只能是数字。
broker.id=2
# kafka监听的ip,端口
listeners=PLAINTEXT://127.0.0.1:8881
# 处理网络请求的线程数量
num.network.threads=3
# 用来处理磁盘 IO 的线程数量
num.io.threads=8
# 发送套接字的缓冲区大小
socket.send.buffer.bytes=102400
#接收套接字的缓冲区大小
socket.receive.buffer.bytes=102400
#请求套接字的缓冲区大小
socket.request.max.bytes=104857600
############################# Log Basics #############################
# kafka 数据存放的路径,可以配置多个磁盘路径,路径与路径之间可以用","分隔
log.dirs=/usr/local/kafka/kafka_logs/broker2_8881
# topic在当前broker上的分区个数
num.partitions=1
# 用来恢复和清理data下数据的线程数量
num.recovery.threads.per.data.dir=1
############################# Internal Topic Settings  #############################
# 每个topic创建时的副本数,默认是1个副本
offsets.topic.replication.factor=1
############################# Log Retention Policy #############################
# segment文件保留的最长时间,超时将被删除
log.retention.hours=168
# 每个segment文件的大小,默认最大1G
log.segment.bytes=1073741824
# 检查过期数据的时间,默认5分钟检查一次是否数据过期
log.retention.check.interval.ms=300000
#自动创建topic
auto.create.topics.enable=true
#允许永久删除topic
delete.topic.enable=true
############################# Zookeeper #############################
#配置连接 Zookeeper 集群地址(在zk根目录下创建/kafka,方便管理)
zookeeper.connect=127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183/kafka
#节点3配置文件
# broker 的全局唯一编号,不能重复,只能是数字。
broker.id=3
# kafka监听的ip,端口
listeners=PLAINTEXT://127.0.0.1:8882
# 处理网络请求的线程数量
num.network.threads=3
# 用来处理磁盘 IO 的线程数量
num.io.threads=8
# 发送套接字的缓冲区大小
socket.send.buffer.bytes=102400
#接收套接字的缓冲区大小
socket.receive.buffer.bytes=102400
#请求套接字的缓冲区大小
socket.request.max.bytes=104857600
############################# Log Basics #############################
# kafka 数据存放的路径,可以配置多个磁盘路径,路径与路径之间可以用","分隔
log.dirs=/usr/local/kafka/kafka_logs/broker3_8882
# topic在当前broker上的分区个数
num.partitions=1
# 用来恢复和清理data下数据的线程数量
num.recovery.threads.per.data.dir=1
############################# Internal Topic Settings  #############################
# 每个topic创建时的副本数,默认是1个副本
offsets.topic.replication.factor=1
############################# Log Retention Policy #############################
# segment文件保留的最长时间,超时将被删除
log.retention.hours=168
# 每个segment文件的大小,默认最大1G
log.segment.bytes=1073741824
# 检查过期数据的时间,默认5分钟检查一次是否数据过期
log.retention.check.interval.ms=300000
#自动创建topic
auto.create.topics.enable=true
#允许永久删除topic
delete.topic.enable=true
############################# Zookeeper #############################
#配置连接 Zookeeper 集群地址(在zk根目录下创建/kafka,方便管理)
zookeeper.connect=127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183/kafka

2.启动

cd /usr/local/kafka/kafka_2.13-3.2.0/
#启动kafka集群
nohup ./bin/kafka-server-start.sh ./config/server1.properties > kafka1.log 2>&1 &
#间隔几秒后 启动节点2
nohup ./bin/kafka-server-start.sh ./config/server2.properties > kafka2.log 2>&1 &
#间隔几秒后 启动节点3
nohup ./bin/kafka-server-start.sh ./config/server3.properties > kafka3.log 2>&1 &
#查看启动日志
cat kafka1.log
cat kafka2.log
cat kafka3.log

2.测试

#新建topic,可以更换为集群中任意IP
sh bin/kafka-topics.sh --create --topic quickstart-events --bootstrap-server 127.0.0.1:8880
#开启生产者端,输入进行生产
bin/kafka-console-producer.sh --topic quickstart-events --bootstrap-server 127.0.0.1:8880
#另外打开一个终端,开启监听端,观察是否输入了生产端的消息
bin/kafka-console-consumer.sh --topic quickstart-events --from-beginning --bootstrap-server 127.0.0.1:8880
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值