kafka安装前提
需要安装对应版本的scala,jdk,zookeeper
安装步骤
解压
sudo tar -zxvf kafka_2.11-0.11.0.0.tgz -C /usr/local/
改名+增加权限
sudo mv kafka_2.11-0.11.0.0/ ./kafka
sudo chown -R hadoop ./kafka
建立日志存放路径
sudo mkdir logs
更改配置文件server.properties
#broker 的全局唯一编号,不能重复
broker.id=0
#删除 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=hadoop1:2181,hadoop2:2181,hadoop3:2181
配置环境变量
sudo gedit ~/.bashrc
$KAFKA_HOME=/usr/local/kafka/bin
source ~/.bashrc
将/kafka目录分发给其他节点hadoop2,hadoop3
需要在各自的配置文件server.properties修改broker.id=1,broker.id=2。每个broker的broker.id要不相同。
启动和关闭集群
需要在每个节点单独启动
hadoop1 bin/kafka-server-start.sh -daemon config/server.properties
hadoop2 bin/kafka-server-start.sh -daemon config/server.properties
hadoop3 bin/kafka-server-start.sh -daemon config/server.properties
需要在每个节点单独关闭
hadoop1 bin/kafka-server-stop.sh stop
hadoop2 bin/kafka-server-stop.sh stop
hadoop3 bin/kafka-server-stop.sh stop
或者使用脚本,ssh访问来开启集群
for i in hadoop1 hadoop2 hadoop3
do
echo "========== $i =========="
ssh $i '/usr/local/kafka/bin/kafka-server-start.sh -daemon
/opt/module/kafka/config/server.properties'
done