Kafka集群环境搭建
一、环境说明
二、安装步骤
一、环境说明
目前的Kafka版本还是需要借助zookeeper来存储cluster、brokers、consumer等相关元信息,在当前版本即
在本案例中,我们采用了外部的zookeeper,即搭建了三节点的集群zookeeper环境,以其作为Kafka2_12_3.1.0版本的元数据存储库。
zookeeper环境配置如下:
节点 安装路径 dataDir路径
hd1 /opt/module/apache-zookeeper-3.5.7-bin /opt/module/apache-zookeeper-3.5.7-bin/zkData
hd2 /opt/module/apache-zookeeper-3.5.7-bin /opt/module/apache-zookeeper-3.5.7-bin/zkData
hd3 /opt/module/apache-zookeeper-3.5.7-bin /opt/module/apache-zookeeper-3.5.7-bin/zkData
kafka环境配置如下:
节点 安装路径 Log路径
hd1 /opt/module/kafka_2.12-3.0.0 /opt/module/kafka_2.12-3.0.0/logs
hd2 /opt/module/kafka_2.12-3.0.0 /opt/module/kafka_2.12-3.0.0/logs
hd3 /opt/module/kafka_2.12-3.0.0 /opt/module/kafka_2.12-3.0.0/logs
二、安装步骤
上传Kafka安装包,解压安装
修改server.properties文件,只需要修改如下几项即可:
broker.id=0log.dirs=/opt/data/kafka212_300/dataszookeeper.connect=hd1:2181,hd2:2181,hd3:2181/kafkagroup.initial.rebalance.delay.ms=0
其他配置默认即可
分发整个Kafka安装目录到其他节点
scp -r /opt/module/kafka_2.12-3.0.0 root@hd2:/opt/modulescp -r /opt/module/kafka_2.12-3.0.0 root@hd3:/opt/module
到其他两个节点分别修改server.properties中的broker.id为:1和2,
注意:broker.id 不得重复
启动Kafka集群
先启动zookeeper集群(自行启动)
/opt/module/apache-zookeeper-3.5.7-bin/bin/zkServer.sh start
依次在hd1、hd2,hd3上启动Kafka集群,执行如下命令:
/opt/module/kafka_2.12-3.0.0/bin/kafka-server-start.sh -daemon /opt/module/kafka_2.12-3.0.0/config/ &
整合集群上启动命令写成脚本
zk.sh zookeeper.sh启动脚本
#!/bin/bashcase $1 in
"start"){for i in hd1 hd2 hd3doecho ---------- zookeeper $i 启动 ------------ssh $i "/opt/module/apache-zookeeper-3.5.7-bin/bin/zkServer.sh start"done
};;
"stop"){for i in hd1 hd2 hd3doecho ---------- zookeeper $i 停止 ------------ ssh $i "/opt/module/apache-zookeeper-3.5.7-bin/bin/zkServer.sh stop"done
};;
"status"){for i in hd1 hd2 hd3doecho ---------- zookeeper $i 状态 ------------ ssh $i "/opt/module/apache-zookeeper-3.5.7-bin/bin/zkServer.sh status"done
};;
*)echo "Input Args Error..."echo "$0 [start|stop|status]..."
;;
esac
kf.sh kafka.sh启动脚本
#!/bin/bashkafka_start() {for i in hd1 hd2 hd3doecho " --------启动 $i Kafka-------"ssh $i "/opt/module/kafka_2.12-3.0.0/bin/kafka-server-start.sh -daemon /opt/module/kafka_2.12-3.0.0/config/server.properties"done
}kafka_stop() {for i in hd1 hd2 hd3doecho " --------关闭 $i Kafka-------"ssh $i "/opt/module/kafka_2.12-3.0.0/bin/kafka-server-stop.sh "done
}case $1 in
"start")kafka_start
;;
"stop")kafka_stop
;;
"restart")kafka_stopkafka_start
;;
*)echo "Input Args Error..."echo "$0 [start|stop|restart]..."
;;
esac
注意:
验证: 三节点上执: jps命令即可看到进程名称为:Kafka
zookeeper启动

kafka启动
