zookeeper和kafka集群源码搭建
一、下载zookeeper,kafka,java
1 网盘下载
版本号不能选:zookeeper-3.6.1,kafka_2.13-2.5.0,jdk-8u241
https://pan.baidu.com/share/init?surl=8cYaxW_8gDtM4wR32nH1Sg
提取码:g9gz
2 网站下载
可以选择版本号
https://www.oracle.com/java/technologies/javase-downloads.html
https://mirrors.tuna.tsinghua.edu.cn/apache/kafka/
https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/
3 集群环境
centos7 1.1.1.3 jdk1.8.0_241+zookeeper-3.4.14+kafak_2.13-2.5.0 centos7 1.1.1.4 jdk1.8.0_241+zookeeper-3.4.14+kafak_2.13-2.5.0 centos7 1.1.1.5 jdk1.8.0_241+zookeeper-3.4.14+kafak_2.13-2.5.0
二、部署
1 java环境安装
https://www.cnblogs.com/gudanaimei/p/12525325.html
2 安装zookeeper
2.1 解压,包已上传到/tmp目录下
tar -xzvf /tmp/zk/zookeeper-3.4.14.tar.gz -C /app
2.2 修改配置文件
三台主机的配置文件一样
mv /app/zookeeper-3.4.14/conf/zoo_sample.cfg /app/zookeeper-3.4.14/conf/zoo.cfg
vi /app/zookeeper-3.4.14/conf/zoo.cfg 删掉所有内容,加入 #心跳检测,默认2s tickTime=2000 #集群中的follower服务器(F)与leader服务器初始连接时经过几个心跳才超时 initLimit=10 #群中的follower服务器(F)与leader服务器请求和应答经过几个心跳数才超时 syncLimit=5 #zookeeper数据目录 dataDir=/app/data/zookeeper #客户端连接zookeeper服务器的端口,默认2181 clientPort=2181 #zookeeper集群 #111,222,333为id,集群里唯一 #Flower 跟 Leader的通信端口,即服务端内部通信的端口,默认2888 #选举端口,默认3888 server.111=1.1.1.3:2888:3888 server.222=1.1.1.4:2888:3888 server.333=1.1.1.5:2888:3888
2.3 创建zookeeper所需要的目录和myid文件
注意主机不同,myid内容也不同
在1.1.1.3主机上 mkdir /app/data/zookeeper -p echo "111">>/app/data/zookeeper/myid 在1.1.1.4主机上 mkdir /app/data/zookeeper -p echo "222">>/app/data/zookeeper/myid 在1.1.1.5主机上 mkdir /app/data/zookeeper -p echo "333">>/app/data/zookeeper/myid
2.4 三台主机上启动zookeeper
/app/zookeeper-3.4.14/bin/zkServer.sh start
2.5 三台主机上查看状态
/app/zookeeper-3.4.14/bin/zkServer.sh status
3 安装kafka
3.1解压
tar -xzvf /tmp/zk/kafka_2.13-2.5.0.tgz -C /app
3.2 修改配置文件
kafka配置文件详解请看
https://www.cnblogs.com/gudanaimei/p/13282685.html
在1.1.1.3主机上
vi /app/kafka_2.13-2.5.0/config/server.properties
删掉所有内容,加入 broker.id=1 listeners=PLAINTEXT://1.1.1.3:9092 num.network.threads=3 num.io.threads=8 socket.send.buffer.bytes=102400 socket.receive.buffer.bytes=102400 socket.request.max.bytes=104857600 zookeeper.connect=1.1.1.3:2181,1.1.1.4:2181,1.1.1.5:2181 zookeeper.connection.timeout.ms=18000 log.dirs=/tmp/kafka-logs log.retention.hours=168 log.segment.bytes=1073741824 log.retention.check.interval.ms=300000 num.partitions=1 offsets.topic.replication.factor=1 transaction.state.log.replication.factor=1 transaction.state.log.min.isr=1 group.initial.rebalance.delay.ms=0
在1.1.1.4主机上
vi /app/kafka_2.13-2.5.0/config/server.properties 删掉所有内容,加入 broker.id=3 listeners=PLAINTEXT://1.1.1.4:9092 num.network.threads=3 num.io.threads=8 socket.send.buffer.bytes=102400 socket.receive.buffer.bytes=102400 socket.request.max.bytes=104857600 log.dirs=/app/data/kafka-logs num.partitions=1 num.recovery.threads.per.data.dir=1 offsets.topic.replication.factor=1 transaction.state.log.replication.factor=1 transaction.state.log.min.isr=1 log.retention.hours=168 log.segment.bytes=1073741824 log.retention.check.interval.ms=300000 zookeeper.connect=1.1.1.3:2181,1.1.1.4:2181,1.1.1.5:2181 zookeeper.connection.timeout.ms=18000 group.initial.rebalance.delay.ms=0
在1.1.1.5主机上
vi /app/kafka_2.13-2.5.0/config/server.properties 删掉所有内容,加入 broker.id=3 listeners=PLAINTEXT://1.1.1.5:9092 num.network.threads=3 num.io.threads=8 socket.send.buffer.bytes=102400 socket.receive.buffer.bytes=102400 socket.request.max.bytes=104857600 log.dirs=/app/data/kafka-logs num.partitions=1 num.recovery.threads.per.data.dir=1 offsets.topic.replication.factor=1 transaction.state.log.replication.factor=1 transaction.state.log.min.isr=1 log.retention.hours=168 log.segment.bytes=1073741824 log.retention.check.interval.ms=300000 zookeeper.connect=1.1.1.3:2181,1.1.1.4:2181,1.1.1.5:2181 zookeeper.connection.timeout.ms=18000 group.initial.rebalance.delay.ms=0
3.3 三台主机上启动kafka
-daemon以守护进程后台启动 /app/kafka_2.13-2.5.0/bin/kafka-server-start.sh -daemon /app/kafka_2.13-2.5.0/config/server.properties 查看一下服务是否启动 ps -ef|grep kafka|grep -v grep