Kafka 安装部署

环境准备
  • CentOS:7.0
  • JDK:1.8
  • ZooKeeper:3.4.6
  • Kafka 集群:node-01、node-02、node-03
安装与配置
  • SFTP 上传 Kafka 安装包并解压
[root@node-01 ~]# tar -zxvf kafka_2.13-2.7.0.tgz -C apps/
[root@node-01 ~]# rm -rf kafka_2.13-2.7.0.tgz 
  • 配置 Kafka 环境变量
[root@node-01 ~]# vim /etc/profile
#行尾添加
export KAFKA_HOME=/root/apps/kafka_2.13-2.7.0
export PATH=$PATH:$KAFKA_HOME/bin
[root@node-01 ~]# source /etc/profile
  • 修改 config/server.properties 配置文件
[root@node-01 ~]# cd /root/apps/kafka_2.13-2.7.0/config/
[root@node-01 config]# vim server.properties 
# broker 编号(集群中多个broker 编号设置不同)
broker.id=1
# kafka 对外提供服务地址和端口号
listeners=PLAINTEXT://node-01:9092
# kafka 存放消息(数据)日志文件路径
log.dirs=/root/apps/kafka_2.13-2.7.0/kafka-logs
# kafka 连接的 zookeeper 地址
zookeeper.connect=node-01:2181,node-02:2181,node-03:2181
  • 复制 kafka 安装包到 node-02 和 node-03

    注:node-02 和 node-03 分别配置修改 broker.id

[root@node-01 ~]# cd /etc
[root@node-01 etc]# scp profile node-02:$PWD
[root@node-01 etc]# scp profile node-03:$PWD

[root@node-01 ~]# cd /root/apps/
[root@node-01 ~]# scp -r kafka_2.13-2.7.0/ node-02:$PWD
[root@node-01 ~]# scp -r kafka_2.13-2.7.0/ node-03:$PWD

[root@node-02 ~]# cd apps/kafka_2.13-2.7.0/config/
[root@node-02 config]# vi server.properties 
broker.id=2
listeners=PLAINTEXT://node-02:9092
[root@node-02 ~]# source /etc/profile

[root@node-03 ~]# cd apps/kafka_2.13-2.7.0/config/
[root@node-03 config]# vi server.properties 
broker.id=3
listeners=PLAINTEXT://node-03:9092
[root@node-03 ~]# source /etc/profile
  • 启动 ZooKeeper 集群

    注:要启动 Kafka 集群要先启动 ZooKeeper 集群,因为 Kakfa 需要 ZooKeeper 负责 Kafka 集群元数据的管理、控制器的选举等操作

[root@node-01 ~]# zkCluster.sh start
  • 启动 Kafka 集群

[root@node-01 ~]# kafka-server-start.sh /root/apps/kafka_2.13-2.7.0/config/server.properties
[root@node-01 ~]# jps
1431 Kafka
1865 Jps
1325 QuorumPeerMain

[root@node-02 ~]# kafka-server-start.sh /root/apps/kafka_2.13-2.7.0/config/server.properties
[root@node-02 ~]# jps
1431 Kafka
1865 Jps
1325 QuorumPeerMain

[root@node-03 ~]# kafka-server-start.sh /root/apps/kafka_2.13-2.7.0/config/server.properties 
[root@node-03 ~]# jps
1431 Kafka
1865 Jps
1325 QuorumPeerMain
创建 kafka 集群批处理脚本 allKafka.sh

Kafka 没有批处理集群脚本,需要自己编写,如下:

[root@node-01 ~]# cd /root/apps/kafka_2.13-2.7.0/bin/
[root@node-01 bin]# vim allKafka.sh

#!/bin/bash
for host in node-01 node-02 node-03
do
if [ ${1} == "start" ];then
  echo "${host}:${1}ing....."
  ssh $host "source /etc/profile;/root/apps/kafka_2.13-2.7.0/bin/kafka-server-start.sh /root/apps/kafka_2.13-2.7.0/config/server.properties 1>/dev/null 2>&1 &"
fi

if [ ${1} == "stop" ]; then
  echo "${host}:${1}ing....."
  ssh $host "source /etc/profile;/root/apps/kafka_2.13-2.7.0/bin/kafka-server-stop.sh 1>/dev/null 2>&1 &"
fi
done

[root@node-01 bin]# chmod +x allKafka.sh
至此,Kafka 集群环境配置 OK :)
作者:Binge
本文版权归作者和博客园共有,转载必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。
原文地址:https://www.cnblogs.com/binbingg/p/14721243.html