zookeeper的部署和使用

ZooKeeper 实战:使用 Docker Compose 部署 ZooKeeper 集群 ZooKeeper是一个开源的分布式协调服务,用于管理大型分布式系统中的数据。它由Apache软件基金会提供,最初是Hadoop的一个子项目,但后来发展成为一个独立的顶级项目。ZooKeeper提供的一致性协调服务对于构建分布式应用和服务非常重要,特别是在需要精确的领导选举、配置管理、命名服务、分布式同步和提供分布式锁等功能时。 阅读详情

1.1 zookeeper 的部署和使用

1.1.1系统描述

ZooKeeper是一个高可用、高可靠的协同工作系统,分布式程序可以用ZooKeeper保存并更新关键共享状态。

Katta使用zookeeper保证主节点和搜索节点的有效性,指派索引文件给搜索节点,察觉搜索节点的失效等。

1.1.2 安装和配置

安装zookeeper也很简单,下载zookeeper-3.1.1.tar.gz,解压到/home/hezhiming/zookeeper-3.1.1。zookeeper要部署到各台机器的相同目录下,且具有相同的配置文件。

Zookeeper 的配置文件主要有以下两个:

1、/zookeeper -3.1.1/conf/zoo.cfg:

# The number of milliseconds of each tick

tickTime=2000

# The number of ticks that the initial

# synchronization phase can take

initLimit=10

# The number of ticks that can pass between

# sending a request and getting an acknowledgement

syncLimit=5

# the directory where the snapshot is stored.

dataDir=/home/nutch/zookeeper-3.1.1/zookeeper-data

# the port at which the clients will connect

clientPort=3355

# 2888,3888 are election port

server.1=devcluster01:2555:3555

server.2=devcluster05:2555:3555

server.3=devcluster06:2555:3555

注明:2555端口号是zookeeper服务之间通信的端口,而3555是zookeeper与其他应用程序通信的端口。

2、myid(在zoo.cfg 配置的dataDir目录下,此处为/home/nutch/zookeeper-3.1.1/zookeeper-data)

注意: Myid中的值与server的编号相同:

devcluster01上的myid:

1

devcluster05上的myid:

2

devcluster06上的myid:

3

1.1.3 启动zookeeper

到每台zookeeper server的目录下,执行:

启动 ./bin/zkServer.sh start

关闭 ./bin/zkServer.sh start

1.1.4zookeeper的使用

zookeeper启动之后,不需要执行命令,只需查看批准的状况,命令如下:

1、ruok - The server will respond with imok if it is running. Otherwise it will not respond at all.

2、kill - When issued from the local machine, the server will shut down.

3、dump - Lists the outstanding sessions and ephemeral nodes. This only works on the leader.

4、stat - Lists statistics about performance and connected clients.

例如:

 $echo ruok | nc 127.0.0.1 3355

Imok$ 

2.1 Katta和zookeeper的关系

2.4.1 什么是zookeeper?

zookeeper是针对分布式应用的分布式协作服务,它的目的就是为了减轻分布式应用从头开发协作服务的负担。

它的基本功能是命名服务(naming),配置管理(configuration management),同步(synchronization)和组服务 (group services)。在此基础上可以实现分布式系统的一致性,组管理,Leader选举等功能。

一个zookeeper机群包含多个zookeeper服务器,这些Server彼此都知道对方的存在。 Zookeeper系统结构图如图2所示:

 

zookeeper的部署和使用

                图2    zookeeper系统结构图

 

l所有的Server都保存有一份目前zookeeper系统状态的备份;

2在zookeeper启动的时候,会自动选取一个Server作为Leader,其余的Server都是Follower;

3作为Follower的Server服务于Client,接受Client的请求,并把Client的请求转交给Leader,由Leader提交请求。

4Client只与单个的zookeeper服务器连接。Client维护一个持久TCP连接,通过其发送请求, 获取响应和事件,并发送心跳信息。如果Client到Server的TCP连接中断, Client将会连接到另外一个Server。

5zookeeper机群的鲁棒性是我们使用它的原因,只要不超过半数的服务器当机(如果正常服务的服务器数目不足一半,那么原有的机群将可能被划分成两个信息无法一致的zookeeper服务),该服务就能正常运行。

2.4.2 zookeeper的虚拟文件系统

Zookeeper允许多个分布在不同服务器上的进程基于一个共享的、类似标准文件系统的树状虚拟文件系统来进行协作。虚拟文件系统中的每个数据节点都称作一个znode。每个znode都可以把数据关联到它本身或者它的子节点.如图3所示:

zookeeper的部署和使用

         图3 zookeeper的虚拟文件系统目录结构

1每个znode的名称都是绝对路径名来组成的,如“/katta/index/index_name”等。

2读取或写入znode中的数据都是原子操作,read会获取znode中的所有字节, write会整个替换znode中的信息.每个znode都包含一个访问控制列表(ACL)以约束该节点的访问者和权限.

3有些znode是临时节点.临时节点在创建它的session的生命周期内存活, 当其session终止时,此类节点将会被删除.

4zookeeper提供znode监听器的概念. Client可以在某个znode上设置监听器以监听该znode的变更. 当znode有变更时, 这些Client将会收到通知,并执行预先敲定好的函数。

那么Zookeeper能为我们做什么事情呢?简单的例子:假设这样一个系统:

1 20个搜索引擎的服务器(每个服务器负责一部分索引的搜索任务), 每个搜索引擎的服务器有时提供搜索服务有时生成索引,但不能同时做这两件事;

2 一个总服务器(负责向这20个搜索引擎的服务器发出搜索请求并合并结果集) ;

3 一个备用的总服务器(负责当总服务器宕机时替换总服务器) ;

4 一个web的cgi(向总服务器发出搜索请求) 。

使用Zookeeper可以保证:

1.总服务器自动感知有多少台服务器可以提供搜索服务,并向这些服务器发出搜索请求;

2.总服务器当机时自动启用备用的总服务器;

3.Web的cgi能够自动地获知总服务器的网络地址变化。

这些都可以通过zookeeper的虚拟文件系统来实现,把这些状态信息,配置,位置等信息都保存于znode中,znode是被所有服务器共享的,通过znode及其数据的变化来完成服务器之间的协作。

2.4.3 Katta与zookeeper的关系

l Katta使用zookeeper保证Master主节点和Node子节点的有效性,在Master主节点和Node子节点之间传递消息,保存一些配置信息,保证文件读取的一致性等。

2 Master管理服务器, Node检索服务器和Client服务器之间的通信就是通过zookeeper来实现的。

3 Client服务器可以直接从zookeeper服务中读取Node检索服务器列表,并向Node检索服务器发送检索请求,最后从Node检索服务器得到结果,不必经过Master管理服务器。

zookeeper集群命令 可以通过JPS指令,这个指令是查看当前活动的java进程。 对于zookeeper来说,如果有Quoroum……,就证明Zk服务是开启的 但该命令只能查看本机机器状态。 立即下载

相关推荐

Seedance 2.5本地部署指南:AI生图与视频生成的完整实践

最近在AI生成内容领域,本地部署方案越来越受到开发者关注。特别是Seedance 2.5的发布,让很多原本依赖云端服务的用户开始转向本地化解决方案。本文将从实际使用角度出发,完整介绍Seedance 2.5的本地部署流程、功能特性对比以及实际应用技巧。 1. Seedance 2.5核心特性解析 1.1 什么是Seedance 2.5 Seedance 2.5是一款开源的AI生图和视频生成工具,支持在本地环境运行,无需联网即可实现高质量的图像和视频生成。相比之前的2.0版本,2.5在生成质量、运行效率和功能

weixin_42566121的博客 1683

zookeeper笔记

zookeeper是一种分布式协调服务,用于管理大型主机。在分布式环境中协调和管理服务是一个复杂的过程,zookeeper通过其简单的架构和API解决了这个问题。zookeeper允许开发人员专注于核心业务逻辑开发,而不必担心应用的分布式特性。Curator是Netflix公司开源的一套zookeeper客户端框架,Curator是对zookeeper支持最好的客户端框架。...

kyrielx的博客 3631

Xiaojie雷达之路---使用CCS创建一个毫米波雷达的工程(AWR1843)

前些天,在工具箱中下载了一个基于毫米波雷达(AWR1843)自动停车的案例,并成果导入CCS中,可以完美运行,但是如何新建一个新的工程呢?这篇文章就会对其进行讲述。

XiaoJie的博客 4552

Zookeeper常用命令

本文罗列并介绍了zookeeper常用的命令行指令。

m0_62946761的博客 7652

写给音响工程师的科普文章(二)——从模电角度去了解调音台话放

    上一篇讲到调音台第一级放大电路为差分放大器,关于差分放大器的基础知识可以参考以下资料:https://wenku.baidu.com/view/e6a46aaa2af90242a995e537 在教材中的差分放大器基本形式是这样子的,在实际电路中把RE电阻换成两个2倍RE,于是变成这样 然后我们现在来对比调音台中的差分放大器和教材中的有什么区别,我就拿yamaha 01V 96来说...

huanghaoAudio的博客 7706

华为产品安全基线

一、敏感信息安全传输 1、采用HTTPS安全协议传输 2、客户端本地保存的敏感信息,需要先加密再保存使用,不可逆支持PBKDF2(迭代10000次)加密保存,可逆支持AES256+IV保存,密钥支持可更新 二、认证鉴权 1、License中心与分析节点分布式部署,需要做用户名+口令安全认证,支持使用HTTPS安全协议。 2、客户端登录支持防暴力破解,支持验证码,多次连续尝试登陆失败后锁定账...

zileixu的博客 1万+

Zookeeper使用详解

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。ZooKeeper包含一个简单的原语集,提供Java和C的接口。

技术人集结地 6405

从零构建虚幻引擎体积云:参数调优与性能平衡的艺术

本文深入探讨了在虚幻引擎中构建逼真体积云系统的关键技术,包括Sky Atmosphere、Volumetric Cloud和Exponential Height Fog三大核心组件的协同工作。重点解析了体积云材质的高级控制、光照阴影的物理模拟以及性能优化策略,帮助开发者在视觉效果与性能之间找到最佳平衡点。

weixin_29012677的博客 938

zookeeper的安装部署

编写单机版的应用比较简单,但是编写分布式应用就比较困难,主要原因在于会出现部分失败。什么是部分失败呢?当一条消息在网络中的两个节点之间传输时,如果出现网络错误,发送者无法知道接收者是否已经收到这条消息,接收者可能在出现网络错误之前就已经收到这条消息,也有可能没有收到,又或者接收者的进程已经“死掉”。发送者只能重新连接接收者并发送咨询请求才能获知之前的信息接收者是否收到。简而言之,部分失败就是不知道一个操作是否已经失败。

weixin_73350116的博客 796

超强干货之---Python-数据爬取(爬虫)

定义: 深度优先搜索是一种遍历或搜索树或图的算法,从起始节点开始,一直沿着一个分支走到底,再回溯到上一个节点继续搜索下一个分支,直到遍历完所有节点。特点递归:通常用递归实现,或者使用栈来模拟递归过程。内存占用低:在有大量分支的情况下,内存占用比广度优先搜索低。适合目标较深的情况:如果目标节点距离起始节点较深,DFS能更快找到目标。适用场景需要遍历所有节点的情况,如生成树、迷宫搜索。目标节点较深,且分支较多时。在大规模数据爬取时,选择合适的存储方式取决于数据的规模、结构和访问需求。

房东的猫的博客 5万+

【ArcGIS Engine二次开发】入门基础(2):ArcGIS开发方式(VBA、DLL、Add-in、Engine)对比

文章目录2.1 使用VBA进行桌面软件开发2.1.1 VBA开发方式2.1.1 VBA代码的安全性2.2 使用DLL进行桌面软件开发2.2.1 DLL开发方式2.2.2 DLL功能的应用部署2.3 使用Add-in进行桌面软件开发2.4 使用ArcGIS Engine构建独立应用程序 对于桌面GIS应用来说,ArcGIS平台不仅提供了用于开发独立运行的GIS应用软件的二次开发工包ArcGIS Engine,还提供了对ArcGIS Deskop桌面软件进行扩展的开发的话,在开发个具体的GIS 行业应用软件时

智慧空间实验室 6510

微服务注册中心基础(四):Zookeeper部署服务、基本概念与操作

持久节点 (Persistent Node)不会自动删除。可以有子节点。适用于需要长期存在的数据。临时节点 (Ephemeral Node)客户端会话结束时自动删除。不能有子节点。适用于表示客户端的存在或状态。持久顺序节点 (Persistent Sequential Node)不会自动删除。创建时自动添加序列号。适用于需要唯一标识符的场景,例如任务分配。临时顺序节点 (Ephemeral Sequential Node)客户端会话结束时自动删除。创建时自动添加序列号。

TracyCoder的博客 1698

Error: Flash Download failed - Target DLL has been cancelled

由于换了新电脑,keil重装了下,然而之前的MCU的支持包没有安装,以及一些其他的问题,导致可以编译但是不能将程序烧录到单片机中。现整理一下解决思路: 1、将支持包下载并添加: 找到你需要用的MCU的具体型号: 例如: 点击网址,下载安装包,或者在csdn等其他网址下载安装包,将下载好的pack包放到keil5的安装目录下的.Download中: 点击file中的import,将路径选择到.........

hanhan的博客 5万+

Zookeeper和Kafka的部署

Zookeeper是一个开源的分布式的,为分布式框架提供协调服务的Apache项目。

weixin_58376680的博客 4226

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

ZooKeeper的部署和测试

本文是介绍了zookeeper的单机模式,伪集群模式的安装步骤。提供相关测试步骤验证是否部署成功。并总结了部署过程中遇到的一些问题。

入境繁华 1万+

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

zookeeper 部署

zookeeper单机部署部署 下载地址 https://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.6.2/apache-zookeeper-3.6.2-bin.tar.gz 解压zookeeper 压缩包 tar -xvf apache-zookeeper-3.6.2-bin.tar.gz 进入解压后的zookeeper目录 cd apache-zookeeper-3.6.2-bin 编辑 zoo.cfg文件 cd ZOOKEEPER_HOME/con

一珅的博客 612

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Zookeeper【安装篇】01:Zookeeper【单机】【手动】安装部署

Zookeeper【单机】【手动】安装部署

weixin_40612128的博客 5458

zookeeper和k8s_Kubernetes集群中部署ZooKeeper集群

Kubernetes集群中部署ZooKeeper集群有两种方式,一是基于kubernetes的镜像kubernetes-zookeeper,另外一种是基于原生的镜像zookeeper,基于kubernetes-zookeeper的部署可以参考kubernetes官网文档 https://kubernetes.io/docs/tutorials/stateful-application/zookee...

weixin_39768762的博客 649

Zookeeper部署

目录 1、单机部署 1.1、Windows环境 1.2、Linux环境 2、集群部署 3、伪集群部署 部署之前要确保Zookeeper所在的环境已配置好JDK。 1、单机部署 1.1、Windows环境 解压“zookeeper-3.4.10.tar.gz” 在zookeeper根路径下打开conf文件夹,然后复...

Yinyaowei的博客 2099

Ubuntu上进行Zookeeper集群部署

Ubuntu系统上Zookeeper集群部署安装

z253255的博客 1526

Zookeeper的本地部署

Zookeeper的本地部署Zookeeper的本地部署1.1.Zookeeper介绍1.2.Zookeeper下载1.3.配置Zookeeper1.4.运行Zookeeper1.5.查看注册在Zookeeper上的服务 Zookeeper的本地部署 1.1.Zookeeper介绍 是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、名字服务、分布式同步、组服务

qq_42990567的博客 5367

zookeeper安装和部署

OASCloud-docker应用测试服务器-zookeeperHistoryNO.VersionContentsTimePersionRemarks1V1.0Create documents2019-07-01Qinfang YeOASCloud-docker应用测试服务器-zookeeper11、创建 /usr/local/services/zookeeper 文件夹:22、进入到 /usr/...

weixin_43431593的博客 1万+

部署ZooKeeper集群

本文介绍了ZooKeeper集群的部署与使用实验。主要内容包括:1)实验目的为理解ZooKeeper系统模型和工作原理;2)在3台Linux机器上部署集群,包含环境准备、安装配置、文件同步等步骤;3)集群启动验证及状态检查;4)使用四字命令(conf、stat、envi)查看服务器信息;5)通过zkCli.sh客户端进行节点创建、查询、更新、删除等操作;6)集群关闭方法。实验详细记录了ZooKeeper集群的完整部署流程和基本操作命令,实现了对ZooKeeper核心功能的实践验证。

weixin_73929590的博客 1264

zookeeper部署

zookeeper 单机 jdk安装 略 tar -zxvf /opt/software/zookeeper-3.4.10.tar.gz -C /opt/module/zookeeper/standalone/ mkdir /opt/module/zookeeper/standalone/zookeeper-3.4.10/zkdata cp /opt/module/zookeeper/standalone/zookeeper-3.4.10/conf/zoo_sample.cfg /opt/module/

qq_34952721的博客 2705
上一篇: 仙子的诱惑
下一篇: 狭义相对论
nuoline
博客等级 码龄19年 345粉丝 247原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值