Post

Env(5) Kafka环境搭建

Env(5) Kafka环境搭建

1 Kafka环境搭建

1.1 搭建Kafka集群

下载Kafka 3.9.0.tgz - 阿里源,上传至虚拟机node1:

1
scp .\kafka_2.13-3.9.0.tgz user@node1:~/Work/2025

在node1解压、建立软连接:

1
2
tar -xvzf kafka_2.13-3.9.0.tgz -C .
ln -s kafka_2.13-3.9.0/ kafka

配置sudo vim kafka/config/server.properties

1
2
3
4
5
6
# 34G
listeners=PLAINTEXT://node1:9092
# 125G
zookeeper.connect=node1:2181,node2.2181,node3:2181
# 指定Kafka数据的位置
# log.dirs=~/Work/2025/kafka/data

同步:

1
./xsync kafka_2.13-3.9.0/ node 2 3

分别在node2和node3建立软连接,并修改broker.id和listeners:

1
2
3
4
5
6
7
8
9
10
11
12
ln -s kafka_2.13-3.9.0/ kafka
sudo vim kafka/config/server.properties

# 24G
broker.id=1
# 34G
listeners=PLAINTEXT://node2:9092

# 24G
broker.id=2
# 34G
listeners=PLAINTEXT://node3:9092

使用MultiExec在每个节点配置sudo vim profile

1
2
export KAFKA_HOME=~/Work/2025/kafka
export PATH=:$PATH:${KAFKA_HOME}

每个节点source /etc/profile,启动zookeeper:

1
./zookeeper/bin/zkServer.sh start

每个节点启动Kafka:

1
nohup ./kafka/bin/kafka-server-start.sh config/server.properties 2>&1 &

使用jps验证Kafka启动成功。

1.3 一键启动脚本

注:脚本有些问题,待解决…暂时可以使用MultiExec实现同时启动Kafka。 编写配置文件sudo vim kafka_slave

1
2
3
node1
node2
node3

编写启动脚本sudo vim start-kafka.sh

1
2
3
4
5
6
7
8
cat ./kafka_slave | while read line
do
{
 echo $line
 ssh $line "source /etc/profile;export JMX_PORT=9988;nohup ${KAFKA_HOME}/bin/kafka-server-start.sh ${KAFKA_HOME}/config/server.properties >/dev/nul* 2>&1 & "
}&
wait
done

编写停止脚本sudo vim stop-kafka.sh

1
2
3
4
5
6
7
8
cat ./kafka_slave | while read line
do
{
 echo $line
 ssh $line "source /etc/profile;jps |grep Kafka |cut -d' ' -f1 |xargs kill -s 9"
}&
wait
done

配置权限:

1
2
sudo chmod +x start-kafka.sh
sudo chmod +x stop-kafka.sh
This post is licensed under CC BY 4.0 by the author.