2.2 部署
2.2.1 集群规划
3 个虚拟机均配置 Zookeeper 和 Kafka
2.2.2 操作步骤
步骤1: 解压安装包
tar -zxvf kafka_2.11-0.11.0.3.tgz -C /opt/module
步骤2: 修改解压后的文件夹
cp -r kafka_2.11-0.11.0.3 kafka
步骤3: 创建 logs
文件夹
在/opt/module/kafka
目录下创建 logs
文件文件夹.
不要把它与存放错误日志的目录说淆了,日志目录是配置在 log4j.properties
文件 里的
步骤4: 添加 kafka 的bin
目录到path
中(可选)
为了后续操作 kafka 的一些命令方便, 建议添加 kafka 的bin
目录到path
中.
export KAFKA_HOME=/opt/module/kafka
export PATH=$PATH:$KAFKA_HOME/bin
然后 source profile
步骤5: 修改配置文件 /opt/module/kafka/config/server.properties
这个是用来配置 broker 的.
文件内容如下:
#broker的全局唯一编号,不能重复. 给集群中的每个broker配置一个不同的id
broker.id=1
# 允许删除topic
delete.topic.enable=true
#处理网络请求的线程数量
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运行日志存放的路径
log.dirs=/opt/module/kafka/logs
#topic在当前broker上的分区个数
num.partitions=1
#用来恢复和清理data下数据的线程数量
num.recovery.threads.per.data.dir=1
#segment文件保留的最长时间,超时将被删除
log.retention.hours=168
#配置连接Zookeeper集群地址
zookeeper.connect=hadoop201:2181,hadoop202:2181,hadoop203:2181
步骤6: 分发安装包
分发之后其他设备的环境变量建议也配置下.
步骤7: 修改其他设备上的 broker.id
hadoop202 和 hadoop203 分别修改为 2 和 3.
注意: 这些 id 值万不能重复.
步骤8: 先启动 Zookeeper 集群
需要分别在 3 台设备启动 Zookeeper
zkServer.sh start
步骤8: 启动 Kafka 集群
需要分别在 3 台设备启动 kafka
kafka-server-start.sh config/server.properties
步骤9: 关闭集群
需要分别在 3 台设备关闭 kafka
kafka-server-stop.sh stop