kafka集群安装

目录

1、zookeeper集群安装

2、kafka集群安装

2.1 集群规划

2.2、集群部署

2.3、集群启停脚本

kafka的管理需要借助zookeeper完成,所以要先安装好zookeeper集群。

1、zookeeper集群安装

1、集群规划

  • 在node1、node2 和 node3 三个节点上都部署 Zookeeper。

2、解压安装

官网下载地址:Apache ZooKeeper

  • 1、在 node1服务器解压 Zookeeper 安装包到目录下:/export/server
  • 2、修改 apache-zookeeper-3.5.7-bin 名称为 zookeeper-3.5.7

3、配置服务器编号

  • 1、在node1服务器下/export/server/apache-zookeeper-3.5.7这个目录下创建 zkData
  • 2、zkData 目录下创建一个 myid 的文件,文件内容为:1
    • 在文件中添加与 server 对应的编号(注意:上下不要有空行,左右不要有空格)
    • 注意:添加 myid 文件,一定要在 Linux 里面创建,在 notepad++和其他文本编辑器里面很可能乱码
  • 3、拷贝配置好的 zookeeper 到其他机器上
    • 并分别在 node1、node2上修改 myid 文件中内容为 2、3

scp -r apache-zookeeper-3.5.7 root@node2:$PWD
scp -r apache-zookeeper-3.5.7 root@node3:$PWD

4、配置zoo.cfg文件

  • 1、重命名/export/server/apache-zookeeper-3.5.7/conf 这个目录下的 zoo_sample.cfg 为 zoo.cfg
  • 2、打开 zoo.cfg 文件

vim zoo.cfg
#修改数据存储路径配置
dataDir=/opt/module/zookeeper-3.5.7/zkData
#增加如下配置
#######################cluster##########################
server.1=node1:2888:3888
server.2=node2:2888:3888
server.3=node3:2888:3888

  • 3、同步 zoo.cfg 配置文件到node2、node3服务器

scp -r zoo.cfg root@node2:$PWD
scp -r zoo.cfg root@node3:$PWD

4.1、配置参数说明

server.A=B:C:D

  • A 是一个数字,表示这个是第几号服务器;
    • 集群模式下配置一个文件 myid,这个文件在 dataDir 目录下,这个文件里面有一个数据 就是 A 的值,Zookeeper 启动时读取此文件,拿到里面的数据与 zoo.cfg 里面的配置信息比 较从而判断到底是哪个 server。
  • B 是这个服务器的地址;
  • C 是这个服务器 Follower 与集群中的 Leader 服务器交换信息的端口;
  • D 是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的 Leader,而这个端口就是用来执行选举时服务器相互通信的端口。

5、集群操作

  • 1、分别启动 Zookeeper

./zkServer.sh start

  • 2、查看状态

./zkServer.sh status

2、kafka集群安装

2.1 集群规划

2.2、集群部署

  • 官方下载地址:Apache Kafka
  • 1、解压安装包

cd  /export/software
tar -zxvf kafka_2.12-3.0.0.tgz -C /export/server/

  • 2、修改解压后的文件名称

cd /export/server/
mv kafka_2.12-3.0.0/ kafka-3.0.0

  • 3、进入到/export/server/kafka-3.0.0/conf 目录,修改配置文件server.properties

cd /export/server/kafka-3.0.0/config
vim server.properties

修改以下内容:
#broker 的全局唯一编号,不能重复,只能是数字。
broker.id=0

#kafka 运行日志(数据)存放的路径,路径不需要提前创建,kafka 自动帮你创建,可以
配置多个磁盘路径,路径与路径之间可以用","分隔
log.dirs=/export/server/kafka-3.0.0/datas

#配置连接 Zookeeper 集群地址(在 zk 根目录下创建/kafka,方便管理)
zookeeper.connect=node1:2181,node2:2181,node2:2181/kafka

  • 4、分发安装包到节点node2,node3

scp -r kafka-3.0.0/ node2:$PWD
scp -r kafka-3.0.0/ node3:$PWD

  • 5、分别在 node2 和 node3 上修改配置文件/export/server/kafka-3.0.0/config/server.properties 中的 broker.id=1、broker.id=2
  • 注:broker.id 不得重复,整个集群中唯一。
  • 6、配置环境变量
    • 1、在/etc/profile 文件中增加 kafka 环境变量配置

#KAFKA_HOME
export KAFKA_HOME=/export/server/kafka-3.0.0/
export PATH=$PATH:$KAFKA_HOME/bin

  • 2、刷新一下环境变量。

source /etc/profile

  • 3、分发环境变量文件到其他节点,并 source。

scp -r /etc/profile node2:$PWD
scp -r /etc/profile node3:$PWD

source /etc/profile

  • 7、启动集群
    • 1、先启动 Zookeeper 集群,然后启动 Kafka。

./zk.sh start

  • 2、依次在 node1、node2、node3 节点上启动 Kafka。

cd /export/server/kafka-3.0.0
bin/kafka-server-start.sh -daemon config/server.properties

  • 8、关闭集群

cd /export/server/kafka-3.0.0
bin/kafka-server-stop.sh 

2.3、集群启停脚本

  • 1、在目录/export/server/scripts下下创建文件 kf.sh 脚本文件
vim kf.sh

文件内容如下:
#! /bin/bash
case $1 in
"start"){
     for i in node1 node2 node3
     do
         echo " --------启动 $i Kafka-------"
         ssh $i "/export/server/kafka-3.0.0/bin/kafka-server-start.sh -daemon /export/server/kafka-3.0.0/config/server.properties"
     done
};;
"stop"){
     for i in node1 node2 node3
     do
         echo " --------停止 $i Kafka-------"
         ssh $i "/export/server/kafka-3.0.0/bin/kafka-server-stop.sh"
     done
};;
esac
  • 2、添加执行权限

chmod +x kf.sh

  • 3、启动集群命令

./kf.sh start

  • 4、停止集群命令

./kf.sh stop

  • 注意:停止 Kafka 集群时,一定要等 Kafka 所有节点进程全部停止后再停止 Zookeeper 集群。因为 Zookeeper 集群当中记录着 Kafka 集群相关信息,Zookeeper 集群一旦先停止, Kafka 集群就没有办法再获取停止进程的信息,只能手动杀死 Kafka 进程了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/573141.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

数据库并发控制思维导图+大纲笔记

思维导图 大纲笔记 多用户数据库系统 定义 允许多个用户同时使用的数据库系统特点 在同一时刻并发运行的事务数可达数百上千个多事务执行方式 事务串行执行交叉并发方式 单处理机系统同时并发方式 多处理机系统事务并发执行带来的问题 产生多个事务同时存取同一数据的情况可能…

哪吒汽车把最后的翻身筹码,全压在了这辆新车上

正如比亚迪王传福所说,新能源车市场已进入惨烈淘汰赛环节。 近几年国内新能源车销量增长势头迅猛,仅过去的 2023 年产销便分别达 958.7 万辆和 949.5 万辆,同比增长 35.8% 和 37.9%。 销量高速增长背后自然也带来了越来越激烈的竞争。 过去…

【学习】应急响应

知识体系 事件前 事件后 导致安全事件的原因 part2 事件的分级分类 part3 应急响应工作流程

TGRS 2023.11遥感预训练模型的再思考:基于实例感知的遥感场景分类视觉提示

提出了一种参数高效调优方法,称为实例感知视觉提示(IVP)。该方法基于RS图像复杂的背景和高度多变的特征,自适应生成提示信息,仅更新少量参数,将预训练好的RS模型转移到不同的场景分类任务中。具体来说,我们没有调整整个…

没有文件服务器,头像存哪里合适

没有文件服务器,头像存哪里合适 1. 背景 之前有同学私信我说,他的项目只是想存个头像,没有别的文件存储需求,不想去用什么Fastdfs之类的方案搭建文件服务器,有没有更简单且无需后期维护的方案,我喝了一口…

【数字图像处理笔记】Matlab实现离散傅立叶变换 (二)

💌 所属专栏:【数字图像处理笔记】 😀 作  者:我是夜阑的狗🐶 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询! &#x…

自然资源调查监测评价系统:守护绿色地球的先锋

随着人类对自然资源的日益依赖,如何合理、可持续地利用这些资源成为了全球关注的焦点。自然资源调查监测评价系统,作为守护绿色地球的重要工具,正发挥着越来越重要的作用。本文将带您了解这一系统的内涵、功能及其在现代社会中的意义。一、自…

Linux内核驱动开发-字符设备驱动框架

1前置条件 &#xff08;1&#xff09;【linux】内核编译结束 &#xff08;2&#xff09;【linux】目录配置跳转文件&#xff1a;补充&#xff1a;配置的跳转文件只能在【linux】目录下使用&#xff0c;子目录无法使用2驱动框架 2.1编写驱动程序 #include <linux/init.h&g…

Lagent AgentLego 智能体应用搭建——笔记

Lagent & AgentLego 智能体应用搭建——笔记 一、智能体简介1.1、为什么要有智能体1.1.1、幻觉问题1.1.2、时效性1.1.3、可靠性 1.2、智能体的含义1.3、智能体的组成1.3.1、大脑1.3.2、感知1.3.3、动作 1.4、智能体范式1.4.1、AutoGPT1.4.2、Rewoo1.4.3、ReAct 二、Lagent …

账号安全及应用

一、账号安全控制 1.1系统账号清理 将用户设置为无法登陆 锁定账户 删除账户 设定账户密码&#xff0c;本质锁定 锁定配置文件-chattr&#xff1a; -a 让文件或目录仅供附加用途。只能追加 -i 不得任意更动文件或目录。 1.2密码安全控制 chage 1.3历史命令 history&am…

Unity 踩坑记录 Rigidbody 刚体重力失效

playerSetting > physics > Gravity > 设置 Y 的值为负数

SpringBoot 根据不同环境切换不同文件路径

最简单的办法就是使用多个 application.yml 配置文件 。一个叫 application-test.yml 测试用&#xff1b;另一个是正式使用的 application-prod.yml 。win环境下大部分是开发测试时候使用的&#xff0c;服务正式上线需要部署在Linux服务器上又换成了Linux。但开发初期或者项目…

Docker容器概念介绍与基本管理

前言 在软件开发和部署环境中&#xff0c;使用 Docker 等容器技术可以帮助团队实现快速、一致、可靠的应用程序部署&#xff0c;提高开发效率和应用程序的可移植性。 目录 一、虚拟化产品介绍 1. 云服务模型 1.1 IaaS 1.2 PaaS 1.3 SaaS 1.4 DaaS 2. 产品介绍 2.1 虚…

5款好用的监控员工电脑软件推荐 (如何监控员工上班工作情况)

在现代的商业环境中&#xff0c;管理和监控员工的工作内容是至关重要的。 为了确保员工的工作效率和质量&#xff0c;公司需要使用一些工具来监控他们的工作进程。 以下是五款实用的监控员工工作内容的软件。 域智盾软件 域智盾是一款专为企业打造的智能管理系统。 它借助人…

FPGA设计篇——波形绘制软件

FPGA设计篇——波形绘制软件 写在前面一、Visio二、TimeGen三、WaveDrom写在最后 写在前面 在FPGA设计过程中&#xff0c;经常需要编写设计文档&#xff0c;其中&#xff0c;不可缺少的就是仿真波形的绘制&#xff0c;可以直接截取Vivado或者Modelsim平台实际仿真波形&#xff…

JVM学习笔记(四)类加载与字节码技术

目录 一、类文件结构 二、字节码指令 2.3 图解方法执行流程 1&#xff09;原始 java 代码 2&#xff09;编译后的字节码文件 3&#xff09;常量池载入运行时常量池 4&#xff09;方法字节码载入方法区 5&#xff09;main 线程开始运行&#xff0c;分配栈帧内存 6&…

分布式-知识体系

分布式系统 本质就是一堆机器的协同&#xff0c;要做的就是用各种手段来让机器的运行达到预期 分布式业务场景 分布式四纵四横说 基于 MSA&#xff08;微服务架构&#xff09;的分布式知识体系 相关概念 – 【摘自网络原文】 节点与网络 节点 传统的节点也就是一台单体的物…

搞嵌入式到底属于程序员吗?

搞嵌入式到底属不属于程序员呢&#xff1f;毫无疑问&#xff0c;当然算啊&#xff01;而且我十分赞同另一位朋友所说的&#xff1a;嵌入式程序员是难得的全栈型程序员。尽管嵌入式领域方向众多且繁杂&#xff0c;但他们同样也是会写代码的程序员。 嵌入式行业主要分为硬件和软…

《从零开始的Java世界》11网络编程

《从零开始的Java世界》系列主要讲解Javase部分&#xff0c;从最简单的程序设计到面向对象编程&#xff0c;再到异常处理、常用API的使用&#xff0c;最后到注解、反射&#xff0c;涵盖Java基础所需的所有知识点。学习者应该从学会如何使用&#xff0c;到知道其实现原理全方位式…

打开IIS网站网页错误提示Argument ‘Key must not be null‘ cannot be null.解决方案 Oracle数据库监听

打开网页异常如下&#xff1a; /“应用程序中的服务器错误。 Argument Key must not be null cannot be null.参数名:Key must not be null 客户端 连接oracle 提示&#xff1a;ORA-12541:TNS:无监听程序 按组合键WindowsR&#xff0c;打开运行 输入命令&#xff1a;lsnrctl s…
最新文章