- 版本说明
- 一 zookeeper单机伪集群搭建
- 1.下载
- 2.配置
- 2.启动
- 二 zookeeper单机伪集群搭建
- 1.配置
- 2.启动
- 2.测试
使用 kafka 3.2.0 自带的zookeeper,
zookeeper.version=3.6.3
使用清华镜像,比官网快
https://mirrors.tuna.tsinghua.edu.cn/apache/kafka/3.2.0/
#安装目录为 /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 #2287,2288,2289为zookeeper节点之间的通信端口,3387,3388,3389为用来选举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 > myid2.启动
#回到目录 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/kafka2.启动
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.log2.测试
#新建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



