zookeeper之分布式环境搭建

server/2024/9/20 3:56:10/ 标签: 分布式, zookeeper, 云原生

ZooKeeper的分布式环境搭建是一个涉及多个步骤的过程,主要包括准备工作、安装ZooKeeper、配置集群、启动服务以及验证集群状态。以下是搭建ZooKeeper分布式环境的基本步骤:

1. 准备工作

  • 确保所有节点的系统时间同步。
  • 确保所有节点之间网络互通,无防火墙隔离。
  • 安装Java环境,因为ZooKeeper是基于Java开发的。

2. 安装ZooKeeper

  • 下载ZooKeeper的安装包,并解压到指定目录。
  • 将ZooKeeper的bin目录添加到系统环境变量中。

3. 配置集群

  • 在每个节点上创建ZooKeeper的数据目录,如/opt/module/zookeeper-3.4.10/zkData
  • 在每个节点的数据目录下创建一个名为myid的文件,其内容为该节点的ID,这个ID需要与zoo.cfg配置文件中的server.N中的N相对应。
  • 编辑zoo.cfg配置文件,配置集群信息,包括tickTimeinitLimitsyncLimitdataDirclientPort以及各个节点的server.N配置。

4. 启动服务

  • 在每个节点上启动ZooKeeper服务。可以使用zkServer.sh start命令启动。

5. 验证集群状态

  • 使用jps命令检查每个节点上的ZooKeeper进程是否启动成功。
  • 使用zkServer.sh status命令查看集群状态,确认是否有一个节点被选举为Leader,其余节点为Follower。

6. 故障转移测试

  • 模拟节点故障,观察集群是否能够正常工作,以及Leader选举是否正常进行。

注意事项

  • 确保zoo.cfg配置文件中的clientPort配置正确,这是客户端连接ZooKeeper的端口。
  • dataDir是ZooKeeper存储数据的目录,需要有足够的磁盘空间。
  • myid文件的值必须唯一,且与zoo.cfg中的server.N的N一致。

参考文档

  • Zookeeper集群环境搭建(全分布式) - 知乎
  • Zookeeper完全分布式集群的搭建 - linhaifeng - 博客园
  • 【Zookeeper】分布式环境搭建 - ShadowFiend - 博客园
  • ZooKeeper环境搭建(保姆级教程)-CSDN博客
  • ZooKeeper完全分布式安装与配置 - 阿里云开发者社区
  • ZooKeeper 完全分布式集群环境搭建 - 诚信天下 - 博客园
  • Zookeeper分布式环境搭建 - CSDN博客

http://www.ppmy.cn/server/38902.html

相关文章

java如何打印数组所有元素

java如何打印数组所有元素 用for循环的话 语法格式是 for(int i0;i<数组名.length;i) { System.out.prontln(数组名[i]); } 如果用while循环 先定义一个变量&#xff0c;变量的值等于0 假定变量名为j int j0; while(j<数组名.length) { System.out.println(数组…

PHPStudy 访问网页 403 Forbidden禁止访问

涉及靶场 upload-labd sqli-labs pikachu dvwa 以及所有部署在phpstudy中的靶场 注意&#xff1a;一定要安装解压软件 很多同学解压靶场代码以后访问报错的原因是&#xff1a;电脑上没有解压软件。 这个时候压缩包看起来就是黄色公文包的样子&#xff0c;右键只有“全部提取…

鸿蒙开发-ArkTS语言-容器-非线性容器

鸿蒙开发-UI-web 鸿蒙开发-UI-web-页面 鸿蒙开发-ArkTS语言-基础类库 鸿蒙开发-ArkTS语言-并发 鸿蒙开发-ArkTS语言-并发-案例 鸿蒙开发-ArkTS语言-容器 文章目录 前言 一、非线性容器 1.HashMap 2.HashSet 3.TreeMap 4.TreeSet 5.LightWeightMap 6.LightWeightSet 7.P…

leetcode300. 最长递增子序列

class Solution {public int lengthOfLIS(int[] nums) {//除了使用动态规划之外&#xff0c;还可以选择使用排序的方法。int[] maxLen new int[nums.length];maxLen[0] 1;for(int i 1;i < nums.length;i){int j i-1;int maxPre 0;for(;j > 0;j--)if(nums[j] < nu…

C++可变参数模板类通过递归和特化方式展开

可变参数模版类有2种方式展开参数包&#xff1a;通过继承和通过递归特化。在此只举例一个后着的例子以阐述展开的方式和过程。这些内容其实书上都有&#xff0c;我只是在看《深入C11 代码优化与工程应用》一书中遇到了些困惑&#xff0c;可能书中的写法与我的理解不对版&#x…

【C++ | 语句】条件语句(if、switch)、循环语句(while、do while、for、范围for)、跳转语句、try语句块和异常处理

&#x1f601;博客主页&#x1f601;&#xff1a;&#x1f680;https://blog.csdn.net/wkd_007&#x1f680; &#x1f911;博客内容&#x1f911;&#xff1a;&#x1f36d;嵌入式开发、Linux、C语言、C、数据结构、音视频&#x1f36d; ⏰发布时间⏰&#xff1a;2024-05-02 2…

2024年软件测试最全Jmeter--【作为测试你必须要知道的】基础名词与环境搭建,2024年最新年末阿里百度等大厂技术面试题汇总

网上学习资料一大堆&#xff0c;但如果学到的知识不成体系&#xff0c;遇到问题时只是浅尝辄止&#xff0c;不再深入研究&#xff0c;那么很难做到真正的技术提升。 需要这份系统化的资料的朋友&#xff0c;可以戳这里获取 一个人可以走的很快&#xff0c;但一群人才能走的更…

计算机网络实验——学习记录七(IP协议)

1. Linux下虚拟的以太网卡的MTU1500&#xff1b; 2. nping --udp -p4499 -g40321 -c1 --data-length 1400 192.168.57.254 &#xff08;1&#xff09;nping 命令创建指定大小的数据包&#xff1b; &#xff08;2&#xff09;--udp 指定nping命令创建的数据包是udp数据报&…

【12572物联网知识学习总结】

一、物联网的定义 物联网就是“物物相连的智能互联网”。它通过射频识别 &#xff08;RFID&#xff09;、红外感应器、全球定位系统、激光扫描器等信息传感 设备&#xff0c;按约定的协议&#xff0c;把任何物品与互联网连接起来&#xff0c;进行信息 交换和通讯&#xff0c;以…

<Linux> 权限

目录 权限人员相对于文件来说的分类更改权限文件的拥有者与所属组umask粘滞位 权限 权限是操作系统用来限制对资源访问的机制&#xff0c;权限一般分为读、写、执行。系统中的每个文件都拥有特定的权限、所属用户及所属组&#xff0c;通过这样的机制来限制哪些用户、哪些组可以…

python面向函数

组织好的&#xff0c;可重复利用的&#xff0c;用来实现单一&#xff0c;或相关联功能的代码段&#xff0c;避免重复造轮子&#xff0c;增加程序复用性。 定义方法为def 函数名 (参数) 参数可动态传参&#xff0c;即使用*args代表元组形式**kwargs代表字典形式&#xff0c;代替…

Redis 相关问题总结

Redis 相关问题 Redis 持久化机制 缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等问题 热点数据和冷数据是什么 Memcache与Redis的区别都有哪些&#xff1f; 单线程的redis为什么这么快 redis的数据类型&#xff0c;以及每种数据类型的使用场景&#xff0c;Redis 内…

android TV app适配遥控器思路,recycleview选中放大

背景&#xff1a; 1、当遥控器遥控盒子&#xff0c;app内是有一套机制&#xff0c;响应遥控器的操作; 2、要实现遥控器选中的效果&#xff0c;必须要设置setOnFocusChangeListener方法&#xff0c;另外一个就是设置view的setOnClickListener方法&#xff1b;设置完之后&#…

Kubernetes——基础认识

目录 前言 什么是云原生 云元素 K8s与中间件以及微服务之间的关系 Kubernetes发展历史 一、简介 1.Kubernetes是什么 2.为什么要使用Kubernetes 3.Kubernetes特性 3.1自我修复 3.2弹性伸缩 3.3自动部署和回滚 3.4服务发现和负载均衡 3.5集中化配置管理和密钥管理…

【前端】-【前端文件操作与文件上传】-【前端接受后端传输文件指南】

目录 前端文件操作与文件上传前端接受后端传输文件指南 前端文件操作与文件上传 一、前端文件上传有两种思路&#xff1a; 二进制blob传输&#xff1a;典型案例是formData传输&#xff0c;相当于用formData搭载二进制的blob传给后端base64传输&#xff1a;转为base64传输&…

LeetCode 142. 环形链表 II

目录 1.原题链接&#xff1a; 2.快慢指针&#xff1a; 证明&#xff1a; 代码实现&#xff1a; 3.提交结果&#xff1a; 4.读书分享&#xff1a; 1.原题链接&#xff1a; 142. 环形链表 II 2.快慢指针&#xff1a; 温馨提示&#xff1a;建议看这题之前先把相交链表与…

深入理解DNS、ICMP协议与NAT技术:网络世界的三大基石

⭐小白苦学IT的博客主页⭐ ⭐初学者必看&#xff1a;Linux操作系统入门⭐ ⭐代码仓库&#xff1a;Linux代码仓库⭐ ❤关注我一起讨论和学习Linux系统❤ 前言 在网络世界中&#xff0c;数据的传输和交互离不开各种协议和技术的支持。其中&#xff0c;DNS&#xff08;域名系统&am…

Python创建可点击网页

继完成静态网页后&#xff0c;引入java script制作动态交互网页&#xff0c;交互逻辑就两个按钮&#xff0c;用于学习网页编程。 from flask import Flask, render_template_string, jsonify, requestapp Flask(__name__)app.route(/) def index():# 使用内联模板渲染一个简单…

游戏辅助 -- 三种分析角色坐标方法(CE、xdbg、龙龙遍历工具)

所用工具下载地址&#xff1a; https://pan.quark.cn/s/d54e7cdc55e6 在上次课程中&#xff0c;我们成功获取了人物对象的基址&#xff1a;[[[0xd75db8]1C]28]&#xff0c;而人物血量的地址则是基址再加上偏移量278。 接下来&#xff0c;我们需要执行以下步骤来进一步操作&a…

小巧简单实用的Linux端口转发工具Rinetd

Linux下实现端口转发有很多种方法&#xff0c;尤其是在可以联网的情况下&#xff0c;更是容易。最近在资源受限的定制系统中&#xff0c;找到一个方便离线安装和使用的端口转发工具Rinetd&#xff0c;安装包仅几十K&#xff0c;而且有很多版本的Linux发行系统的支持。 1、安装…