Vmware15.5当中安装centos6.9参考:https://blog.csdn.net/qq_39607643/article/details/109644074
1 准备工作
-
1)准备三台服务器, 安装jdk1.8 ,其中每一台虚拟机的hosts文件中都需要配置如下的内容
vim /etc/hosts
192.168.72.141 node01
192.168.72.142 node02
192.168.72.143 node03 -
2)安装目录
安装包存放的目录:/export/software
安装程序存放的目录:/export/servers
数据目录:/export/data
日志目录:/export/logs创建各级目录命令:
mkdir -p /export/servers/
mkdir -p /export/software/
mkdir -p /export/data/
mkdir -p /export/logs/ -
3)zookeeper集群已经安装好并启动
2 下载安装包
由于kafka是scala语言编写的,基于scala的多个版本,kafka发布了多个版本。
其中2.11是推荐版本
官网下载地址
3 开始搭建
3.1 上传安装包并解压
使用 rz 命令将安装包上传至 /export/software
1) 切换目录上传安装包
cd /export/software
rz # 选择对应安装包上传即可
2) 解压安装包到指定目录下
tar -zxvf kafka_2.11-1.0.0.tgz -C /export/servers/
cd /export/servers/
3) 重命名(由于名称太长)
mv kafka_2.11-1.0.0 kafka
3.2 修改kafka的核心配置文件
cd /export/servers/kafka/config/
vi server.properties
主要修改一下四个地方:
1) broker.id 需要保证每一台kafka都有一个独立的broker
2) listeners = PLAINTEXT://当前虚拟机ip地址:9092
3) log.dirs 数据存放的目录
4) zookeeper.connect zookeeper的连接地址信息
#broker.id 标识了kafka集群中一个唯一broker。
broker.id=0
num.network.threads=3
num.io.threads=8
socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600
#listeners : 表示的监听的地址. 需要更改为当前虚拟机的ip地址, 保证其他主机都能连接
listeners = PLAINTEXT://当前虚拟机的ip地址:9092
# 存放生产者生产的数据 数据一般以topic的方式存放
log.dirs=/export/data/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
# zk的信息
zookeeper.connect=node01:2181,node02:2181,node03:2181
zookeeper.connection.timeout.ms=6000
group.initial.rebalance.delay.ms=0
3.3 将配置好的kafka分发到其他二台主机
cd /export/servers
scp -r kafka/ node02:$PWD
scp -r kafka/ node03:$PWD
-
拷贝后, 需要修改每一台的broker.id
ip为141的服务器: broker.id=0
ip为142的服务器: broker.id=1
ip为143的服务器: broker.id=2 -
修改每一台的listeners的ip地址
-
在三台的服务器执行创建数据文件的命令
mkdir -p /export/data/kafka
3.4 启动集群
cd /export/servers/kafka/bin
./kafka-server-start.sh /export/servers/kafka/config/server.properties 1>/dev/null 2>&1 &
注意:可以启动一台broker,单机版。也可以同时启动三台broker,组成一个kafka集群版
可以通过 jps 查看 kafka进程是否已经启动了
4 kafka的自动化脚本
一键启停脚本:https://download.csdn.net/download/qq_39607643/13124812
4.1 创建一个sbin的目录
mkdir -p /export/servers/kafka/sbin
cd /export/servers/kafka/sbin
参考下图, 创建对应的文件和脚本即可: 直接上传资料中的脚本内容即可
使用rz上传即可
上传后需要对.sh文件赋权限:
cd /export/servers/kafka/sbin
chmod 755 *.sh