单点部署:
(1)下载kafka软件包
[root@elk101 ~]# wget https://downloads.apache.org/kafka/3.4.0/kafka_2.13-3.4.0.tgz
(2)解压软件包
[root@elk101 ~]# tar xf kafka_2.13-3.4.0.tgz -C /oldboyedu/softwares/
(3)配置环境变量
[root@elk101 ~]# cat /etc/profile.d/kafka.sh
#!/bin/bash
export KAFKA_HOME=/oldboyedu/softwares/kafka_2.13-3.4.0
export PATH=$PATH:${KAFKA_HOME}/bin
[root@elk101 ~]#
[root@elk101 ~]# source /etc/profile.d/kafka.sh
(4)修改配置文件
[root@elk101 ~]# yy $KAFKA_HOME/config/server.properties
# 指定broker的唯一ID
broker.id=101
...
# 指定数据目录
log.dirs=/oldboyedu/data/kafka
...
# 指定ZK的集群并指定chroot目录
zookeeper.connect=elk101:2181,elk102:2181,elk103:2181/kafka-3.4.0
[root@elk101 ~]#
(5)启动kafka服务
[root@elk101 ~]# kafka-server-start.sh $KAFKA_HOME/config/server.properties
KAFKA集群部署:
(1)同步kafka程序包到其他节点
[root@elk101 ~]# data_rsync.sh /oldboyedu/softwares/kafka_2.13-3.4.0/
[root@elk101 ~]# data_rsync.sh /etc/profile.d/kafka.sh
(2)修改各节点的配置文件
[root@elk101 ~]# for ((host_id=101;host_id<=103;host_id++)) do ssh elk${host_id} "sed -ri 's#(broker.id=)101#\1${host_id}#g' $KAFKA_HOME/config/server.properties";done
(3)各节点启动服务
[root@elk101 ~]# for ((host_id=101;host_id<=103;host_id++)) do ssh elk${host_id} "kafka-server-start.sh -daemon $KAFKA_HOME/config/server.properties ";done
集群部署
(1)同步kafka程序包到其他节点
[root@elk101 ~]# data_rsync.sh /oldboyedu/softwares/kafka_2.13-3.4.0/
[root@elk101 ~]# data_rsync.sh /etc/profile.d/kafka.sh
(2)修改各节点的配置文件
[root@elk101 ~]# for ((host_id=101;host_id<=103;host_id++)) do ssh elk${host_id} "sed -ri 's#(broker.id=)101#\1${host_id}#g' $KAFKA_HOME/config/server.properties";done
(3)各节点启动服务
[root@elk101 ~]# for ((host_id=101;host_id<=103;host_id++)) do ssh elk${host_id} "kafka-server-start.sh -daemon $KAFKA_HOME/config/server.properties ";done