centos7搭建zookeeper 集群 1主2从
centos7搭建zookeeper 集群
- 准备
- 前提
- 规划
- 防火墙
- 开始搭建集群
- 192.168.83.144
- 上传安装包
- 添加环境变量
- 修改zookeeper 的配置
- 192.168.83.145 和 192.168.83.146 配置
- 启动 集群
准备
- vm 虚拟机
- centos7系统
- zookeeper 安装包
- FinalShell或者其他shell工具
前提
- 虚拟机安装好3台centos7系统的虚拟机服务器。且相互之间可以互通访问。
- 提前下载好zookeeper 安装包。此处使用的安装包为apache-zookeeper-3.9.2-bin.tar.gz(下载地址:zookeeper下载地址)
规划
三台服务器地址IP地址如下:
| ip | 集群myid序号 |
|---|---|
| 192.168.83.144 | 1 |
| 192.168.83.145 | 2 |
| 192.168.83.146 | 3 |
防火墙
三台服务器都关闭防火墙
systemctl stop firewalld
开始搭建集群
192.168.83.144
上传安装包
将提前下载好的安装包上传到服务器上,我这上传到 /root 上。
使用命令将压缩包解压到 /usr/local目录下
tar -zxvf apache-zookeeper-3.9.2-bin.tar.gz -C /usr/local
解压完成后,在 /usr/local 下得到文件夹 ** apache-zookeeper-3.9.2-bin**
重命名为 zookeeper
mv apache-zookeeper-3.9.2-bin zookeeper
添加环境变量
编辑环境变量文件
vim /etc/profile
在文件中添加zookeeper的环境变量配置
export ZOOKEEPER_HOME=/usr/local/zookeeper
export PATH=$ZOOKEEPER_HOME/bin:$PATH
保存退出编辑,刷新配置
source /etc/profile
修改zookeeper 的配置
进入 /usr/local/zookeeper/conf 目录下
将 zoo_sample.cfg 复制并重命名为 zoo.cfg
cp zoo_sample.cfg zoo.cfg
并编辑 zoo.cfg 文件
vim zoo.cfg
在 文件中找到 dataDir 的配置,并按下面的修改
# 原配置为:dataDir=/tmp/zookeeper 修改后如下:
dataDir=/usr/local/zookeeper/data
然后在zoo.cfg 文件的末尾添加集群的配置信息
# 2888为组成zookeeper服务器之间的通信端口
# 3888为用来选举主节点的端口
# server.序号。此处的序号为集群节点的id,不可以冲突,必须唯一。在下面的myid文件中用到。对应 【规划】步骤中的序号
server.1=192.168.83.144:2888:3888
server.2=192.168.83.145:2888:3888
server.3=192.168.83.146:2888:3888
在 /usr/local/zookeeper/ 下创建 data 目录
mkdir -p /usr/local/zookeeper/data
在 /usr/local/zookeeper/data 目录下创建文件 myid
touch myid
根据 规划 或者 zoo.cfg 中的配置,将id 写入myid文件中
当前操作的是192.168.83.144,对应的序号是1.所以使用以下的命令将id写入myid文件中
echo "1">myid
192.168.83.145 和 192.168.83.146 配置
实际上192.168.83.145 和 192.168.83.146 配置步骤和192.168.83.144 一致。为了方便快捷的安装。可以将192.168.83.144上已经配置好的zookeeper复制一份到192.168.83.145 和 192.168.83.146上即可。
用以下命令复制
# 复制给192.168.83.145
scp -r /usr/local/zookeeper root@192.168.83.145:/usr/local
# 复制给192.168.83.146
scp -r /usr/local/zookeeper root@192.168.83.146:/usr/local
修改myid文件
在192.168.83.145的myid文件中,使用以下命令修改myid的值
echo "2">myid
在192.168.83.146的myid文件中,使用以下命令修改myid的值
echo "3">myid
配置环境变量
步骤和192.168.83.144一致。可以自己配,也可以使用scp从192.168.83.144上复制。复制后记得要执行命令: source /etc/profile
启动 集群
进入 /usr/local/zookeeper/bin 目录下
执行以下命令
# 启动
./zkServer.sh start
由于zookeeper的主节点选举模式需要集群过半数量正常启动才可以选举。
此时我们将三台服务器的集群启动完成后。使用以下命令查看集群状态
./zkServer.sh status
可以看到以下信息:
192.168.83.144:
follower :表示从节点

192.168.83.145:
leader:表示主节点

192.168.83.146:
follower :表示从节点

相关文章:
centos7搭建zookeeper 集群 1主2从
centos7搭建zookeeper 集群 准备前提规划防火墙开始搭建集群192.168.83.144上传安装包添加环境变量修改zookeeper 的配置 192.168.83.145 和 192.168.83.146 配置 启动 集群 准备 vm 虚拟机centos7系统zookeeper 安装包FinalShell或者其他shell工具 前提 虚拟机安装好3台cen…...
Arrays.asList 和 java.util.ArrayList 区别
理解 Java 中的 Arrays.asList 和 java.util.ArrayList 的区别 在 Java 编程中,Arrays.asList 方法和 java.util.ArrayList 是两种常用的处理列表数据的方式。虽然它们在功能上看起来相似,但在内部实现和使用上有着本质的不同。本文将探讨这两种方式的区…...
代码随想录-Day44
322. 零钱兑换 给你一个整数数组 coins ,表示不同面额的硬币;以及一个整数 amount ,表示总金额。 计算并返回可以凑成总金额所需的 最少的硬币个数 。如果没有任何一种硬币组合能组成总金额,返回 -1 。 你可以认为每种硬币的数…...
CriticGPT: 用 GPT-4 找出 GPT-4 的错误
CriticGPT 是 OpenAI 发布的一个基于 GPT-4 的模型,它可以帮助我们人类 Review 并纠正 ChatGPT 在生成代码时的错误。使用 CriticGPT 审查代码时,有 60% 的概率生成的代码更好更正确。...
SpringBoot:SpringBoot中调用失败如何重试
一、引言 在实际的应用中,我们经常需要调用第三方API来获取数据或执行某些操作。然而,由于网络不稳定、第三方服务异常等原因,API调用可能会失败。为了提高系统的稳定性和可靠性,我们通常会考虑实现重试机制。 Spring Retry为Spri…...
2024-06-24 问AI: 在大语言模型中,什么是ray?
文心一言 在大语言模型中,Ray是一个开源的统一框架,用于扩展AI和Python应用程序,特别是在机器学习领域。以下是关于Ray的详细解释: 核心功能: Ray为并行处理提供了计算层,使得用户无需成为分布式系统专家…...
仓库管理系统09--修改用户密码
1、添加窗体 2、窗体布局控件 UI设计这块还是传统的表格布局,采用5行2列 3、创建viewmodel 4、前台UI绑定viewmodel 这里要注意属性绑定和命令绑定及命令绑定时传递的参数 <Window x:Class"West.StoreMgr.Windows.EditPasswordWindow"xmlns"http…...
在Spring Data JPA中使用@Query注解
目录 前言示例简单示例只查询部分字段,映射到一个实体类中只查询部分字段时,也可以使用List<Object[]>接收返回值再复杂一些 前言 在以往写过几篇spring data jpa相关的文章,分别是 Spring Data JPA 使用JpaSpecificationExecutor实现…...
【UE5.1】Chaos物理系统基础——01 创建可被破坏的物体
目录 步骤 一、通过笔刷创建静态网格体 二、破裂静态网格体 三、“统一” 多层级破裂 四、“簇” 群集化的破裂 五、几何体集的材质 六、防止几何体集自动破碎 步骤 一、通过笔刷创建静态网格体 1. 可以在Quixel Bridge中下载两个纹理,用于表示石块的内外纹…...
Linux下SUID提权学习 - 从原理到使用
目录 1. 文件权限介绍1.1 suid权限1.2 sgid权限1.3 sticky权限 2. SUID权限3. 设置SUID权限4. SUID提权原理5. SUID提权步骤6. 常用指令的提权方法6.1 nmap6.2 find6.3 vim6.4 bash6.5 less6.6 more6.7 其他命令的提权方法 1. 文件权限介绍 linux的文件有普通权限和特殊权限&a…...
Redis主从复制搭建一主多从
1、创建/myredis文件夹 2、复制redis.conf配置文件到新建的文件夹中 3、配置一主两从,创建三个配置文件 ----redis6379.conf ----redis6380.conf ----redis6381.conf 4、在三个配置文件写入内容 redis6379.conf里面的内容 include /myredis/redis.conf pidfile /va…...
GPT-4o文科成绩超一本线,理科为何表现不佳?
目录 01 评测榜单 02 实际效果 什么?许多大模型的文科成绩竟然超过了一本线,还是在竞争激烈的河南省? 没错,最近有一项大模型“高考大摸底”评测引起了广泛关注。 河南高考文科今年的一本线是521分,根据这项评测&…...
Lombok的hashCode方法
Lombok对于重写hashCode的算法真的是很经典,但是目前而言有一个令人难以注意到的细节。在继承关系中,父类的hashCode针对父类的所有属性进行运算,而子类的hashCode却只是针对子类才有的属性进行运算,立此贴提醒自己。 目前重写ha…...
关于springboot创建kafkaTopic
工具类提供,方法名见名知意。使用kafka admin import org.apache.kafka.clients.admin.*; import org.apache.kafka.common.KafkaFuture;import java.util.*; import java.util.concurrent.ExecutionException;import org.apache.kafka.clients.admin.AdminClient; …...
OOAD的概念
面向对象分析与设计(OOAD, Object-Oriented Analysis and Design)是一种软件开发方法,它利用面向对象的概念和技术来分析和设计软件系统。OOAD 主要关注对象、类以及它们之间的关系,通过抽象、封装、继承和多态等面向对象的基本原…...
Day47
Day47 手写Spring-MVC之DispatcherServlet DispatcherServlet的思路: 前端传来URI,在TypeContainer容器类中通过uri得到对应的类描述类对象(注意:在监听器封装类描述类对象的时候,是针对于每一个URI进行封装的&#x…...
【面试系列】后端开发工程师 高频面试题及详细解答
欢迎来到我的博客,很高兴能够在这里和您见面!欢迎订阅相关专栏: ⭐️ 全网最全IT互联网公司面试宝典:收集整理全网各大IT互联网公司技术、项目、HR面试真题. ⭐️ AIGC时代的创新与未来:详细讲解AIGC的概念、核心技术、…...
mac|浏览器链接不上服务器但可以登微信
千万千万千万不要没有关梯子直接关机,不然就会这样子呜呜呜 设置-网络,点击三个点--选择--位置--编辑位置(默认是自动) 新增一个,然后选中点击完成 这样就可以正常上网了...
Spring Cloud Alibaba之负载均衡组件Ribbon
一、什么是负载均衡? (1)概念: 在基于微服务架构开发的系统里,为了能够提升系统应对高并发的能力,开发人员通常会把具有相同业务功能的模块同时部署到多台的服务器中,并把访问业务功能的请求均…...
tkinter显示图片
tkinter显示图片 效果代码解析打开和显示图像 代码 效果 代码解析 打开和显示图像 def open_image():file_path filedialog.askopenfilename(title"选择图片", filetypes(("PNG文件", "*.png"), ("JPEG文件", "*.jpg;*.jpeg&q…...
LangFlow零代码AI应用搭建:5分钟可视化构建智能问答机器人
LangFlow零代码AI应用搭建:5分钟可视化构建智能问答机器人 1. LangFlow简介:零代码AI应用构建利器 LangFlow是一款革命性的可视化AI应用构建工具,它让不懂编程的用户也能轻松搭建智能问答机器人。想象一下,你只需要像搭积木一样…...
LumiPixel Canvas Quest人像生成中的数据结构优化实践
LumiPixel Canvas Quest人像生成中的数据结构优化实践 1. 为什么需要优化数据结构 当你用LumiPixel Canvas Quest处理大批量人像时,有没有遇到过程序变慢甚至崩溃的情况?这通常是因为图像数据在内存中的组织方式不够高效。就像整理衣柜一样,…...
AI 使用过程中遇到的问题及解决方案
////////////////////////////////////////////////////////////////////////////////////////////////////////context_management: Extra inputs are not permitted Received Model Groupclaude-sonnet-4-6错误原因这是 Claude API 的 context management(上下文管…...
57:L构建紫队协同:蓝队的协同防御
作者: HOS(安全风信子) 日期: 2026-03-07 主要来源平台: GitHub 摘要: 传统的红队和蓝队分离模式存在沟通障碍,导致防御效率低下。L构建了一套紫队协同系统,通过AI驱动的团队协作、知识共享和防御优化&…...
WaveTools实战:鸣潮性能优化的5个技术秘诀
WaveTools实战:鸣潮性能优化的5个技术秘诀 【免费下载链接】WaveTools 🧰鸣潮工具箱 项目地址: https://gitcode.com/gh_mirrors/wa/WaveTools 问题定位:帧率异常的底层原因分析 作为《鸣潮》玩家,你是否遇到过这样的困扰…...
别再死记硬背了!用这5个真实运维脚本,搞定90%的Shell面试题
5个实战Shell脚本:从面试题到真实运维场景的蜕变 在技术面试中,Shell脚本能力往往是区分普通候选人和优秀候选人的关键指标。但死记硬背面试题答案的时代已经过去,现代企业更看重候选人解决实际问题的能力。本文将带你通过5个真实运维场景中的…...
别再为PDF表格头疼了!用Nougat+LangChain搞定RAG系统里的表格问答(附完整代码)
突破PDF表格解析瓶颈:Nougat与LangChain构建智能问答系统实战 每次打开满是表格的学术论文PDF时,你是否也经历过这样的挫败感?传统OCR工具要么把跨页表格拆得七零八落,要么将复杂的LaTeX公式识别成乱码,更别提准确关联…...
打造沉浸式音乐体验:Apple Music-Like Lyrics 全栈技术指南
打造沉浸式音乐体验:Apple Music-Like Lyrics 全栈技术指南 【免费下载链接】applemusic-like-lyrics 一个基于 Web 技术制作的类 Apple Music 歌词显示组件库,同时支持 DOM 原生、React 和 Vue 绑定。 项目地址: https://gitcode.com/gh_mirrors/ap/a…...
5B00,5B01,5B02,1700,1701,1702,1704,P07清零软件G3800,TS3480 ,TS3380 ,G3000,G1810,TS9020, TS8020,TS3480
下载地址:链接:https://pan.baidu.com/s/1j7Nwv715wX1JL3qidnGyXA?pwd0000 提取码:0000 常见 佳能打印机 型号: G5080 G6080 G7080 G1810 G2810 G3810 G4810 G1800 G2800 G3800 G4800 G5010 G6010 G7010 G1010 G2010 G3010 G4010 G1000 G2000 G3000 G40…...
【ROS2小白入门】从 ROS 1 到 ROS 2 的跨越:实战重构机器人底盘 Manager 节点
文章目录一、 构建系统的蜕变:CMakeLists.txt 的优雅转身1. 告别 target_link_libraries🚨 避坑指南 1:找不到 serial 串口库?二、 C 源码大换血:彻底消灭 NodeHandle三、 通信机制迁移:发布、订阅与异步服…...
