Zookeeper 二、Zookeeper环境搭建

Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式

  • 单机模式:Zookeeper只运行在一台服务器上,适合测试环境
  • 集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”
  • 伪集群模式:就是在一台服务器上运行多个Zookeeper实例

1.单机模式搭建

  1. 下载

下载稳定版本的Zookeeper:
https://zookeeper.apache.org/releases.html

  1. 上传

下载完成后,将Zookeeper压缩包上传到Linux系统

  1. 解压压缩包
tar -zxvf apache-zookeeper-3.8.4.tar.gz
  1. 进入zookeeper-3.8.4 目录,创建data文件夹
cd zookeeper-3.8.4
mkdir data
  1. 修改配置文件名称
cd conf
mv zoo_sample.cfg zoo.cfg
  1. 修改zoo.cfg中的data属性
dataDir=/root/zookeeper-3.8.4/data
  1. zookeeper 服务启动

进入bin目录,启动服务输入命令

./zkServer.sh start
  1. 相关命令

关闭服务

./zkServer.sh stop

查看状态

./zkServer.sh status

2.伪集群模式

Zookeeper不但可以在单机上允许单机模式Zookeeper,而且可以在单机模拟集群模式Zookeeper的运行,也就是将不同实例运行在同一台机器,用端口进行区分,伪集群模式为我们体验Zookeeper和做一些尝试性的实验提供了很大的便利。比如,我们在测试的时候,可以先使用少量数据在伪集群模式下进行测试。当测试可行的时候,再将数据移植到集群模式进行真是的数据实验。这样不但保证了它的可行性,同时大大提高了实验的效率。这种搭建方式,比较简便,成本比较低,适合测试和学习。

【注】
一台机器上部署了3个server,也就是说单台机器及上运行多个Zookeeper实例。在这种情况下,必须保证每个配置文档的各个端口号不能冲突,除clientPort不同之外,dataDir也不同。另外,还要在dataDir所对应的目录中创建myid文件来指定对应的Zookeeper服务器实例

  • clientPort端口
    • 如果在1台机器上部署多个server,那么每台机器都要不同的clientPort,比如server1是2181,server2是2182,server3是2183
  • dataDir和dataLogDir
    • dataDir和dataLogDir也需要区分下,将数据文件和日志文件分开存放,同时每个server的这两变量所对应的路径都是不同的
  • server.X和myid
    • server.X 这个数字就是对应,data/myid 中的数字。在3个server的myid文件中分别写入了1,2,3,那么每个server中的zoo.cfg都配server.1,server.2,server.3 就行了。因为在同一台机器上,后面连着的2个端口,3个server都不要一样,否则端口冲突
  1. 下载

下载稳定版本的Zookeeper:
https://zookeeper.apache.org/releases.html

  1. 上传

下载完成后,将Zookeeper压缩包上传到Linux系统

  1. 解压压缩包

创建目录zkcluster

mkdir zkcluster

解压zookeeper-3.8.4.tar.gz 到zkcluster目录下

tar -zxvf apache-zookeeper-3.8.4.tar.gz -C /zkcluster
  1. 改变名称
mv zookeeper-3.8.4 zookeeper01

复制并改名

cp -r zookeeper01/ zookeeper02
cp -r zookeeper01/ zookeeper03
  1. 分别在zookeeper01、zookeeper02、zookeeper03目录下创建data及logs目录
mkdir data
cd data
mkdir logs
  1. 修改配置文件名称
cd conf
mv zoo_sample.cfg zoo.cfg
  1. 配置每一个Zookeeper的dataDir(zoo.cfg)clientPort分别为2181 2182 2183
clientPort=2181
dataDir=/zkcluster/zookeeper01/data
dataLogDir=/zkcluster/zookeeper01/data/logs
clientPort=2182
dataDir=/zkcluster/zookeeper02/data
dataLogDir=/zkcluster/zookeeper02/data/logs
clientPort=2183
dataDir=/zkcluster/zookeeper03/data
dataLogDir=/zkcluster/zookeeper03/data/logs
  1. 配置集群

在每个zookeeper的data目录下创建一个myid文件内容分别是1,2,3。这个文件就是记录每个服务器的ID

touch myid

在每个zookeeper的zoo.cfg配置客户端访问端口(clientPort)和集群服务器IP列表

server.1=192.168.101.3:2881:3881
server.2=192.168.101.3:2882:3882
server.3=192.168.101.3:2883:3883
#server.服务器ID=服务器IP地址:服务器之间通信端口:服务器之间投票选举端口
  1. 启动集群

依次启动三个zk实例

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Spine学习15】变换约束

变换约束:能让一个骨骼受另一个骨骼的变化影响。 1、选择m创建一个变换约束: 2、点击这个约束, 将移动数值拉的越满,m越接近s骨骼 当约束为0也就是默认的时候,m骨骼将不会受影响,变换约束可有可无。 tips…

Mysql简述

Java - sql语句学习 sql分类 sql语句 sql数据类型

26、架构-微服务的九个核心特征

1. 围绕业务能力构建 定义:微服务应该根据业务功能划分,而不是根据技术层次或模块划分。 详细讲解: 业务能力:每个微服务应该专注于完成一个具体的业务功能,例如用户管理、订单处理、支付处理等。这样,每…

《数字图像处理》实验报告一

一、实验任务与要求 1、用 matlab 编写空间域点处理操作处理给定的几幅图像,要求: 使用 imread 读取当前工作目录下的图像设计点处理操作并用代码实现处理用 imnshow 显示处理后的图像用 imwrite 保存处理后的图像 2、提交内容:m文件 实验…

ARM单片机使用CAN总线部署BootLoader

1.引言 1.1.单片机开发BootLoader意义 单片机开发BootLoader的原因主要与其在嵌入式系统中的关键作用有关。BootLoader是硬件启动的引导程序,它在操作系统内核或用户应用程序运行之前执行。以下是单片机开发BootLoader的主要原因: 初始化硬件设备&…

算法设计与分析:并查集法求图论桥问题

目录 一、实验目的 二、问题描述 三、实验要求 四、算法思想 1. 基准算法 1.1 算法思想 1.2 代码 1.3 时间复杂度 2. 使用并查集的高效算法 2.1 算法思想 2.2 代码: 2.3 时间复杂度: 五、实验结果 一、实验目的 1. 掌握图的连通性。 2. 掌…

高速公路安全新防线:护栏碰撞监测终端的应用与价值

​ ​​在现代化的高速公路管理体系中,安全始终放在第一位。随着道路上车辆密度的不断增加升,交通事故的风险也随之加剧,其中,护栏碰撞事故更是成为影响公路安全的一大隐患。为了有效减少此类事故的负面影响,提升应…

WebRTC笔记

一、 WebRTC的链接方式 1. 可以是浏览器之间的对等链接(全网状或完全分布式),那么数据就是在两个或多个浏览器之间流动 2. 可以是与媒体服务器的单一对等连接(集中混合式),这样的好处是可以扩展很大的会议,最大限度的减少新人加入时所需处理的工作量 二、 …

【嵌入式Linux】i.MX6ULL 复位中断服务函数的编写

文章目录 1. 复位中断服务函数0.1 禁止IRQ中断0.1.1 方式0.1.2 代码0.1.3 缩写说明0.1.4 PSTATE寄存器简介0.1.5 禁止IRQ中断的目的 1.1 关闭I/D Cache, MMU1.1.1 方式1.1.2 代码1.1.3 缩写说明1.1.4 关闭I/D Cache, MMU的目的 2.2 设置中断向量偏移2.2.1 方式2.2.2 代码2.2.3 …

卷积的通俗解释

以时间和空间两个维度分别理解卷积,先用文字来描述: 时间上,任何当前信号状态都是迄至当前所有信号状态的叠加;时间上,任何当前记忆状态都是迄至当前所有记忆状态的叠加;空间上,任何位置状态都…

python怎样自动提示

第一步、打开pycharm,如下图所示: 第二步、File→Power Save Mode,把下面如图所示的勾去掉: 第三步、去掉勾后,不再使用省电模式,新建一个python文件。输入单词前两个字母,就会自动提示了&#…

PAT B1041. 考试座位号

题目描述 每个PAT考生在参加考试时都会被分配两个座位号:一个是试机座位:另一个是考试座位。正常情况下,考生在入场时先得到试机座位号,入座进入试机状态后,系统会显示该考生的考试座位号,考试时考生需要换到考试座位就座。但有些考生迟到了,…

什么是空间数据

在数字孪生领域,需要汇聚、联接、融合地上地下、室内室外等多源异构数据,多源异构数据接入融合是一个复杂且关键的数据处理过程,它涉及将来自不同来源、具有不同格式和结构的数据进行有机整合,以生成一致、完整、可信且可用的数据…

为什么说大模型训练很难?

前言 在人工智能的浪潮中,大模型训练无疑是一股不可忽视的力量。然而,这背后的过程却充满了挑战与困难。今天,让我们一同揭开大模型训练的神秘面纱,探讨为何它值得您的关注与投入。 大模型训练的挑战 大模型训练之所以难&…

描述在React中集成第三方库(如Redux或React Router)的常见模式。

在React中集成第三方库,如状态管理库Redux或路由库React Router,通常遵循一些常见的模式和最佳实践。下面是一些集成这些库的步骤和模式: 集成Redux 安装Redux及相关包: 安装Redux及其中间件(如redux-thunk或redux-saga&#xf…

【数据库中的存储桶】

存储桶是对象存储系统中的一个核心概念,起源于Amazon S3(Simple Storage Service)并被其他对象存储解决方案(如MinIO、Google Cloud Storage等)广泛采用。在传统的文件系统中,我们通常使用目录和子目录来组…

选择门店收银系统要考虑哪些方面?美业系统Java源码分享私

开店前的一个重要事件就是选择门店收银软件/系统,尤其是针对美容、医美等美业门店,一个优秀专业的系统十分重要,它必须贴合门店的经营需求,提供更全面、便捷、高效的管理功能,帮助提升门店的服务质量和经营效益。 以下…

Python笔记 文件的读取操作

1.open()打开函数 再Python,使用open函数,可以打开一个已经存在的文件,或者创建一个新文件,语法如下 open(name,mode,encoding) name:是要打开的文件名的字符串(可以包含文件所在的具体路径) mode&…

系统集成要求

系统集成要求 投标人需要支持通过标准化方式实现院内信息系统、信息平台、数据中心、运营管理等各系统之间通过标准化数据集建设实现各系统无缝集成。系统集成包含界面集成及数据层面的集成,为方便用户使用,高度集成临床工作站操作模块,比如消…

Apple-how can i use apple account sign in my app

If you’re enabling an App ID for the first time or for a new app, enable the App ID as a primary 在Apple Developer网站上启用Apple登录服务(Sign in with Apple)。 生成Sign in with Apple的Key,以及相关的App ID配置。 注册你的应…