序
1、准备
kafka集群搭建是需要一定的基础作为支撑。
材料 | 版本 | 数量 | 备注 |
---|---|---|---|
安装包 | kafka_2.11-2.0.0 .tgz | 3 | |
虚拟机 | CentOS 7.5 | 3 | |
IP | / | 3 | 192.168.28.51/52/53 |
zookeeper | 版本任意 | 3 | |
jdk | 版本7以上 | 3 | 提前安装好 |
2、安装
2.1 安装jdk
略
2.2安装zookeeper
参考另一篇文章:zookeeper的安装教程
2.3 安装kafka
安装目录是任意选择的,这里我们将kafka安装在/usr/local/kafka 目录下。
(1)上传文件
建立/usr/local/kafka 目录,将安装包kafka_2.11-2.0.0 .tgz,上传到该目录下。
mkdir -p /usr/local/kafka
(2)解压文件
进入/usr/local/kafka目录中,找到kafka_2.11-2.0.0 .tgz,并解压。
tar -zxvf kafka_2.11-2.0.0 .tgz
三台虚拟机的操作一致,至此安装步骤就简单的完成了。
3、配置
在配置环节需要配置三个文件,分别是server.properties、zookeeper.properties和环境变量。
文件名 | 路径 |
---|---|
server.properties | /usr/local/kafka/config/server.properties |
zookeeper.properties | /usr/local/kafka/config/zookeeper.properties |
3.1 配置server.properties
(1)broker.id
broker.id在完全分布式集群中,每台服务器都配置一个独一无二的值。
即:
服务器IP | broker.id | 说明 |
---|---|---|
192.168.28.51 | 1 | 这里从1开始,,依次递增 |
192.168.28.52 | 2 | |
192.168.28.53 | 3 |
(2)listeners
listeners 设置监听IP和端口。完全分布式部署条件下,IP不同,端口一致即可。
服务器编号 | listeners IP | 端口 |
---|---|---|
kafka1 | 192.168.28.51 | 9092 |
kafka2 | 192.168.28.52 | 9092 |
kafka3 | 192.168.28.53 | 9092 |
伪分布式的条件下,端口不同,IP一致即可。
(3)log.dirs
log.dirs定义的是kafka日志的存储路径
(4)zookeeper.connect
zk的配置,这里需要增加zk集群所有的服务器。
(5)server.properties配置概览
broker.id=1 #broker定义
listeners = PLAINTEXT://192.168.28.51: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=/tmp/kafka-logs #kafka日志
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=192.168.28.51:2181,192.168.28.52:2181,192.168.28.53:2181 #重要
zookeeper.connection.timeout.ms=6000
group.initial.rebalance.delay.ms=0
3.2 配置zookeeper.properties
检查zk的端口配置,默认是2181.。
3.3 环境变量
增加kafka的环境变量
#kafka
export KAFKA_HOME=/usr/local/kafka
PATH=${KAFKA_HOME}/bin:$PATH
安装kafka的环境变量配置如下,包括jdk、zookeeper和kafka的环境变量: