Kafka集群搭建
一、搭建环境
系统&软件版本
系统:CentOS Linux release 7.7.1908 (Core)
JDK:java version "1.8.0_171"
zookeeper: zookeeper-3.4.14.tar.gz
kafka: kafka_2.12-2.4.1.tgz
机器规划
IP地址 | 主机名 | 安装软件 |
---|---|---|
192.168.137.102 | mini2 | jdk、zookeeper、kafka |
192.168.137.103 | mini3 | jdk、zookeeper、kafka |
192.168.137.104 | mini4 | jdk、zookeeper、kafka |
说明
- 机器均关闭防火墙
- 网络互通
- hosts文件中添加主机名映射
- jdk1.8 环境已具备
- 安装路径:
/usr/local/hdp
- 系统用户:
bigdata
二、zookeeper集群
2.1 软件下载
2.2 解压安装
[bigdata@mini2 hdp]$ tar -xzvf zookeeper-3.4.14.tar.gz
2.3 修改配置文件
[bigdata@mini2 hdp]$ cd zookeeper-3.4.14/conf
[bigdata@mini2 conf]$ cp zoo_sample.cfg zoo.cfg
[bigdata@mini2 conf]$ vim zoo.cfg
本次使用的配置信息:
initLimit=10
syncLimit=5
dataDir=/data/zoo # data文件
clientPort=2181
#集群部署,server后面的数字就是自己机器的myid,这边取的是IP地址最后一段
server.102=mini2:2888:3888
server.103=mini3:2888:3888
server.104=mini4:2888:3888
2.4 创建服务器标识
在zookeeper的数据文件夹中创建myid
文件,并写入机器标识(zoo.cfg中server.机器标识)
[bigdata@mini2 ~]$ cd /data/zoo
[bigdata@mini2 zoo]$ echo 102 > myid
2.5 软件复制
将 zookeeper-3.4.14
远程复制到另几个机器mini3
、mini4
:
[bigdata@mini2 hdp]$ scp -r zookeeper-3.4.14 bigdata@mini3:/usr/local/hdp
[bigdata@mini2 hdp]$ scp -r zookeeper-3.4.14 bigdata@mini4:/usr/local/hdp
备注:mini3、mini4 上对应的myid需要修改成对应的机器标识:
- mini3
[bigdata@mini2 ~]$ cd /data/zoo
[bigdata@mini2 zoo]$ echo 103 > myid
- mini4
[bigdata@mini2 ~]$ cd /data/zoo
[bigdata@mini2 zoo]$ echo 104 > myid
2.6 启动zookeeper
分别在三个机器上启动zookeeper:
[bigdata@mini2 ~]$ cd /usr/local/hdp/zookeeper-3.4.14
[bigdata@mini2 zookeeper-3.4.14]$ bin/zkServer.sh start
验证集群状态:
[bigdata@mini2 zookeeper-3.4.14]$ bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/local/hdp/zookeeper-3.4.14/bin/../conf/zoo.cfg
Mode: follower
[bigdata@mini3 zookeeper-3.4.14]$ bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/local/hdp/zookeeper-3.4.14/bin/../conf/zoo.cfg
Mode: leader
[bigdata@mini4 zookeeper-3.4.14]$ bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/local/hdp/zookeeper-3.4.14/bin/../conf/zoo.cfg
Mode: follower
三、Kafka集群安装
3.1 软件下载
3.2 解压安装
[bigdata@mini2 hdp]$ tar -xzvf kafka_2.12-2.4.1.tgz
3.3 修改配置文件
[bigdata@mini2 hdp]$ cd kafka_2.12-2.4.1/config/
[bigdata@mini2 config]$ vim server.properties
本次使用的配置信息:
broker.id=102 # 服务器标识
listeners=PLAINTEXT://mini2:9092
advertised.listeners=PLAINTEXT://mini2: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=/data/kafka # 日志文件目录
num.partitions=3
num.recovery.threads.per.data.dir=1
offsets.topic.replication.factor=3
transaction.state.log.replication.factor=1
transaction.state.log.min.isr=1
#log.flush.interval.messages=10000
#log.flush.interval.ms=1000
log.retention.hours=168
#log.retention.bytes=1073741824
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000
zookeeper.connect=mini2:2181,mini3:2181,mini4:2181
zookeeper.connection.timeout.ms=6000
group.initial.rebalance.delay.ms=0
3.4 软件复制
将 kafka_2.12-2.4.1
远程复制到另几个机器mini3
、mini4
:
[bigdata@mini2 hdp]$ scp -r kafka_2.12-2.4.1 bigdata@mini3:/usr/local/hdp
[bigdata@mini2 hdp]$ scp -r kafka_2.12-2.4.1 bigdata@mini4:/usr/local/hdp
备注:mini3、mini4 上对应的server.properties
需要修改以下信息:
- mini3
[bigdata@mini2 config]$ vim server.properties
broker.id=103 # 服务器标识
listeners=PLAINTEXT://mini3:9092
advertised.listeners=PLAINTEXT://mini3:9092
- mini4
[bigdata@mini2 config]$ vim server.properties
broker.id=104 # 服务器标识
listeners=PLAINTEXT://mini4:9092
advertised.listeners=PLAINTEXT://mini4:9092
3.5 启动kafka
[bigdata@mini2 kafka_2.12-2.4.1]$ bin/kafka-server-start.sh -daemon config/server.properties
至此,Kafka集群已搭建完成。
欢迎一起讨论交流
网友评论