当前位置: 首页 > news >正文

基于ZooKeeper的Kafka分布式集群搭建与集群启动停止Shell脚本

下载Kafka压缩包

下方是Kafka官网下载地址,本文使用Kafka 3.0.0在虚拟机环境中搭建分布式集群。
Apache Kafka Downloads link
虽然在Kafka 2.8.0之后可以使用KRaft模式搭建高可用的集群以提高数据处理效率,但是目前还有许多企业依然使用ZooKeeper搭建Kafka集群,所以本文也采用ZooKeeper组件来搭建Kafka分布式集群。
Kafka-3.0.0

基于ZooKeeper的Kafka高可用集群

本文使用三台CentOS7虚拟机分别搭建三个broker节点的Kafka集群。以broker ID为0的节点为例,下方是该节点配置Kafka的具体步骤,另外两个broker节点的配置步骤与其一致。

  1. 解压kafka_2.12-3.0.0.tgz压缩包
tar -zxvf kafka_2.12-3.0.0.tgz -C /opt/module/
  1. 重命名文件夹名称(可选),注意后面的配置文件也需要根据该名称进行修改。
cd /opt/module
mv kafka_2.12-3.0.0 kafka
  1. 修改/opt/module/kafka/config/server.properties配置文件中最基础的参数配置:第一个是broker节点ID,第二个是topic数据存储路径。
vim server.propertiesbroker.id=0
log.dirs=/opt/module/kafka/datas
  1. 修改环境变量。
sudo vim /etc/profile.d/my_env.sh#KAFKA_HOME
export KAFKA_HOME=/opt/module/kafka
export PATH=$PATH:$KAFKA_HOME/bin
  1. 使用source命令刷新环境变量。
source /etc/profile

启动Kafka集群

  1. 启动ZooKeeper。在先前的博客中已介绍过ZooKeeper组件集群的搭建配置方式,并自定义了ZooKeepr集群启动脚本。所以本文直接使用该集群启动脚本zk.sh启动ZooKeeper。其中hadoop102 103 104为三个broker节点的域名。
[hadoop@hadoop102 bin]$ cat zk
#!/bin/bashcase $1 in
"start"){for host in hadoop102 hadoop103 hadoop104doecho ------------ zookeeper $host 启动 ---------------ssh $host "/opt/module/zookeeper-3.5.9/bin/zkServer.sh start"done
}
;;
"stop"){for host in hadoop102 hadoop103 hadoop104doecho ------------ zookeeper $host 停止 --------------- ssh $host "/opt/module/zookeeper-3.5.9/bin/zkServer.sh stop"done
}
;;
"status"){for host in hadoop102 hadoop103 hadoop104doecho ------------ zookeeper $host 状态 --------------- ssh $host "/opt/module/zookeeper-3.5.9/bin/zkServer.sh status"done}
;;
*) echo Not exist the instruction
;;
esac
[hadoop@hadoop102 bin]$ ./zk start
  1. 启动Kafka集群。本文也针对Kafka集群定义了集群启动与停止Shell脚本,所以直接使用该脚本kf.sh启动Kafka集群即可。注意:必须先启动ZooKeeper再启动Kafka集群;在停止集群运行的时候,需要先停止Kafka集群,再停止ZooKeeper服务。
[hadoop@hadoop102 bin]$ cat kf
#!/bin/bashcase $1 in
"start")for i in hadoop102 hadoop103 hadoop104doecho "-- start $i kafka --"ssh $i "/opt/module/kafka/bin/kafka-server-start.sh -daemon /opt/module/kafka/config/server.properties"done
;;
"stop")for i in hadoop102 hadoop103 hadoop104doecho "-- stop $i kafka --"ssh $i "/opt/module/kafka/bin/kafka-server-stop.sh"done
;;
esac
[hadoop@hadoop102 bin]$ ./kf start

Kafka集群

相关文章:

  • 蓝桥杯 - 穿越雷区
  • 全面探究 LangChain Text Splitters
  • 在虚拟机尝试一次用启动盘重装系统
  • P1162 填涂颜色
  • Bigtable [OSDI‘06] 论文阅读笔记
  • 第四题:扫雷
  • C语言关于随机数知识点的总结
  • LeetCode 5. 最长回文子串
  • 云原生:应用敏捷,华为视角下的应用现代化
  • 黑马鸿蒙笔记
  • 力扣热题100_链表_138_随机链表的复制
  • Acwing2024蓝桥杯区间合并
  • 34-3 SSRF漏洞 - ssrf业务场景及挖掘
  • Ubuntu下TexStudio如何兼容中文
  • 简析数据安全保护策略中的十个核心要素
  • 【刷算法】求1+2+3+...+n
  • Bootstrap JS插件Alert源码分析
  • bootstrap创建登录注册页面
  • Cookie 在前端中的实践
  • css的样式优先级
  • docker-consul
  • Docker容器管理
  • JavaScript设计模式与开发实践系列之策略模式
  • js正则,这点儿就够用了
  • mongodb--安装和初步使用教程
  • MyEclipse 8.0 GA 搭建 Struts2 + Spring2 + Hibernate3 (测试)
  • PHP面试之三:MySQL数据库
  • SpringCloud(第 039 篇)链接Mysql数据库,通过JpaRepository编写数据库访问
  • SQLServer之创建数据库快照
  • Swift 中的尾递归和蹦床
  • vue+element后台管理系统,从后端获取路由表,并正常渲染
  • 第2章 网络文档
  • 如何优雅地使用 Sublime Text
  • 收藏好这篇,别再只说“数据劫持”了
  • 腾讯优测优分享 | Android碎片化问题小结——关于闪光灯的那些事儿
  • 微信开放平台全网发布【失败】的几点排查方法
  • 用 vue 组件自定义 v-model, 实现一个 Tab 组件。
  • 用mpvue开发微信小程序
  • - 语言经验 - 《c++的高性能内存管理库tcmalloc和jemalloc》
  • 自动记录MySQL慢查询快照脚本
  • 机器人开始自主学习,是人类福祉,还是定时炸弹? ...
  • # Java NIO(一)FileChannel
  • ### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLTr
  • #HarmonyOS:Web组件的使用
  • #单片机(TB6600驱动42步进电机)
  • #我与Java虚拟机的故事#连载06:收获颇多的经典之作
  • $.ajax()参数及用法
  • (14)Hive调优——合并小文件
  • (4)事件处理——(6)给.ready()回调函数传递一个参数(Passing an argument to the .ready() callback)...
  • (7)STL算法之交换赋值
  • (C#)一个最简单的链表类
  • (蓝桥杯每日一题)love
  • (三)Pytorch快速搭建卷积神经网络模型实现手写数字识别(代码+详细注解)
  • (三)终结任务
  • (小白学Java)Java简介和基本配置