搭建Kafka集群

下载Kafka

使用的Kafka版本为2.4.1,是2020年3月12日发布的版本。可以注意到Kafka的版本号为:kafka_2.12-2.4.1,因为kafka主要是使用scala语言开发的,2.12为scala的版本号。Apache Kafka可以查看到每个版本的发布时间。

搭建Kafka集群 

将Kafka的安装包上传到虚拟机,并解压

mkdir export
cd /export
mkdir server
mkdir software
cd /export/software/
tar -xvzf kafka_2.12-2.4.1.tgz -C ../server/
cd /export/server/kafka_2.12-2.4.1/

修改 server.properties

cd /export/server/kafka_2.12-2.4.1/config
vim server.properties
# 指定broker的id
broker.id=0
# 指定Kafka数据的位置
log.dirs=/export/server/kafka_2.12-2.4.1/data
# kafka客户端指定端口
listeners=PLAINTEXT://192.168.2.3:9092
# 配置zk的三个节点
zookeeper.connect=192.168.2.3:2181,192.168.2.4:2181,192.168.2.5:2181

将安装好的kafka复制到另外两台服务器

cd /export/server
scp -r kafka_2.12-2.4.1/ 192.168.2.4:$PWD
scp -r kafka_2.12-2.4.1/ 192.168.2.5:$PWD

修改另外两个节点的broker.id分别为1和2
---------192.168.2.4--------------
cd /export/server/kafka_2.12-2.4.1/config
vim server.properties
broker.id=1
# kafka客户端指定端口
listeners=PLAINTEXT://192.168.2.4:9092
--------192.168.2.5--------------
cd /export/server/kafka_2.12-2.4.1/config
vim server.properties
broker.id=2
# kafka客户端指定端口
listeners=PLAINTEXT://192.168.2.5:9092

配置KAFKA_HOME环境变量

vim /etc/profile
export KAFKA_HOME=/export/server/kafka_2.12-2.4.1
export PATH=:$PATH:${KAFKA_HOME}

分发到各个节点
scp /etc/profile 192.168.2.4:$PWD
scp /etc/profile 192.168.2.5:$PWD


每个节点加载环境变量
source /etc/profile

启动服务器

# 启动ZooKeeper
nohup bin/zookeeper-server-start.sh conf/zookeeper.properties &
# 启动Kafka
cd /export/server/kafka_2.12-2.4.1
nohup bin/kafka-server-start.sh config/server.properties &
# 测试Kafka集群是否启动成功
bin/kafka-topics.sh --bootstrap-server 192.168.2.3:9092 --list

安装zookeeper集群的相关文章:安装Zookeeper集群-CSDN博客

目录结构分析

目录名称

说明

bin

Kafka的所有执行脚本都在这里。例如:启动Kafka服务器、创建Topic、生产者、消费者程序等等

config

Kafka的所有配置文件

libs

运行Kafka所需要的所有JAR包

logs

Kafka的所有日志文件,如果Kafka出现一些问题,需要到该目录中去查看异常信息

site-docs

Kafka的网站帮助文件

Kafka一键启动/关闭脚本

为了方便将来进行一键启动、关闭Kafka,我们可以编写一个shell脚本来操作。将来只要执行一次该脚本就可以快速启动/关闭Kafka。

在节点1中创建 /export/onekey 目录

mkdir /export/onekey
cd /export/onekey

准备slave配置文件,用于保存要启动哪几个节点上的kafka

vim slave
192.168.2.3
192.168.2.4
192.168.2.5

编写start-kafka.sh脚本

vim start-kafka.sh
cat /export/onekey/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

编写stop-kafka.sh脚本

vim stop-kafka.sh
cat /export/onekey/slave | while read line
do
{
 echo $line
 ssh $line "source /etc/profile;jps |grep Kafka |cut -d' ' -f1 |xargs kill -s 9"
}&
wait
done

给start-kafka.sh、stop-kafka.sh配置执行权限

chmod u+x start-kafka.sh
chmod u+x stop-kafka.sh

执行一键启动、一键关闭

./start-kafka.sh
./stop-kafka.sh

相关推荐

  1. Kafka

    2024-01-06 18:56:01       18 阅读
  2. Kafka

    2024-01-06 18:56:01       9 阅读
  3. Dockerkafka

    2024-01-06 18:56:01       28 阅读
  4. kafka KRaft

    2024-01-06 18:56:01       37 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-06 18:56:01       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-06 18:56:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-06 18:56:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-06 18:56:01       18 阅读

热门阅读

  1. 马克思主义基本原理笔记

    2024-01-06 18:56:01       28 阅读
  2. LeetCode每日刷题.09(128.最长连续序列)

    2024-01-06 18:56:01       35 阅读
  3. 【LeetCode】607. 销售员

    2024-01-06 18:56:01       45 阅读
  4. LeetCode [24][25] k个一组反转链表

    2024-01-06 18:56:01       41 阅读
  5. 关键词提取

    2024-01-06 18:56:01       39 阅读
  6. npm ERR! vue@“^3.2.25“ from the root project

    2024-01-06 18:56:01       32 阅读
  7. 12.15 log 122.买卖股票的最佳时机 II,55. 跳跃游戏

    2024-01-06 18:56:01       36 阅读
  8. 头歌平台 指针进阶

    2024-01-06 18:56:01       31 阅读
  9. 【Python】关于Python的列表推导式(List Comprehensions)

    2024-01-06 18:56:01       36 阅读
  10. MySQL 8.0中新增的功能(二)

    2024-01-06 18:56:01       33 阅读
  11. 96 双指针解旋转链表

    2024-01-06 18:56:01       39 阅读