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
原文地址:https://www.cnblogs.com/gudanaimei/p/13282674.html