kafka集群安装
1.环境装备
1.1 架构
hadoop01 hadoop02 hadoop03 zk zk zk kafka kafka kafka
1.2 软件包准备
官方地址:
[官方下载地址:http://kafka.apache.org/downloads.html]:
2.安装kafka
2.1 解压安装包
命令
tar -zxvf kafka_2.12-3.0.0.tgz
2.2 修改配置文件
命令
#broker 的全局唯一编号,不能重复,只能是数字。 broker.id=0 listeners=PLAINTEXT://hadoop01:9092 advertised.listeners=PLAINTEXT://hadoop01:9092 #处理网络请求的线程数量 num.network.threads=3 #用来处理磁盘 IO 的线程数量 num.io.threads=8 #发送套接字的缓冲区大小 socket.send.buffer.bytes=102400 #接收套接字的缓冲区大小 socket.receive.buffer.bytes=102400 #请求套接字的缓冲区大小 socket.request.max.bytes=104857600 #kafka 运行日志(数据)存放的路径,路径不需要提前创建,kafka 自动帮你创建,可以 配置多个磁盘路径,路径与路径之间可以用","分隔 log.dirs=/usr/local/kafka_2.12-3.1.0/logs #topic 在当前 broker 上的分区个数 num.partitions=1 #用来恢复和清理 data 下数据的线程数量 num.recovery.threads.per.data.dir=1 # 每个 topic 创建时的副本数,默认时 1 个副本 offsets.topic.replication.factor=1 #segment 文件保留的最长时间,超时将被删除 log.retention.hours=168 #每个 segment 文件的大小,默认最大 1G log.segment.bytes=1073741824 # 检查过期数据的时间,默认 5 分钟检查一次是否数据过期 log.retention.check.interval.ms=300000 #配置连接 Zookeeper 集群地址(在 zk 根目录下创建/kafka,方便管理) zookeeper.connect=hadoop102:2181,hadoop103:2181,hadoop104:2181/kafka
2.3 分发配置文件
命令
scp server.properties root@hadoop102:/usr/local/kafka_2.12-3.1.0/config scp server.properties root@hadoop103:/usr/local/kafka_2.12-3.1.0/config
- 修改broker.id
分别在 hadoop02 和 hadoop03 上修改配置文件/usr/local/kafka_2.12-3.1.0/config/server.properties 中的 broker.id=1、broker.id=2
2.4 配置环境变量
命令
sudo vim /etc/profile.d/my_env.sh #KAFKA_HOME export KAFKA_HOME=/usr/local/kafka_2.12-3.1.0 export PATH=$PATH:$KAFKA_HOME/bin
刷新一下环境变量
source /etc/profile
分发环境变量文件到其他节点,并 source。
scp /etc/profile.d/my_env.sh root@hadoop102:/etc/profile.d/my_env.sh scp /etc/profile.d/my_env.sh root@hadoop103:/etc/profile.d/my_env.sh
2.5 启动集群
启动zk
zk.sh start
依次在 hadoop01、hadoop02、hadoop03 节点上启动 Kafka
bin/kafka-server-start.sh -daemon config/server.properties
2.6 关闭集群
命令
bin/kafka-server-stop.sh
3 集群启停脚本
脚本
#! /bin/bash case $1 in "start"){ for i in hadoop01 hadoop02 hadoop03 do echo " --------启动 $i Kafka-------" ssh $i "/opt/module/kafka/bin/kafka-server-start.sh -daemon /opt/module/kafka/config/server.properties" done };; "stop"){ for i in hadoop102 hadoop103 hadoop104 do echo " --------停止 $i Kafka-------" ssh $i "/opt/module/kafka/bin/kafka-server-stop.sh " done };; esac
添加执行权限
chmod +x 文件名
启动集群命令
文件名 start
停止集群命令
文件名 stop
注意:停止 Kafka 集群时,一定要等 Kafka 所有节点进程全部停止后再停止 Zookeeper
集群