从0学习Kafka--集群部署

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 软件下载

zookeeper-3.4.14.tar.gz

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 远程复制到另几个机器mini3mini4:

[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 软件下载

kafka_2.12-2.4.1.tgz

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 远程复制到另几个机器mini3mini4:

[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集群已搭建完成。

欢迎一起讨论交流

你可能感兴趣的:(从0学习Kafka--集群部署)