我的编程空间,编程开发者的网络收藏夹
学习永远不晚

如何进行Zookeeper分析与集群搭建

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

如何进行Zookeeper分析与集群搭建

本篇文章为大家展示了如何进行Zookeeper分析与集群搭建,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

Zookeeper简介

Zookeeper是一个高效的分布式协调服务,可以提供配置信息管理、命名、分布式同步、集群管理、数据库切换等服务。它不适合用来存储大量信息,可以用来存储一些配置、发布与订阅等少量信息。Hadoop、Storm、消息中间件、RPC服务框架、分布式数据库同步系统,这些都是Zookeeper的应用场景。

Zookeeper集群中节点个数一般为奇数个(>=3),若集群中Master挂掉,剩余节点个数在半数以上时,就可以推举新的主节点,继续对外提供服务。

在这里还是要推荐下我自己建的大数据学习群:199427210,群里都是学大数据开发的,如果你正在学习大数据 ,小编欢迎你加入,大家都是软件开发党,不定期分享干货(只有大数据软件开发相关的),包括我自己整理的一份2018最新的大数据进阶资料和高级开发教程,欢迎进阶中和进想深入大数据的小伙伴加入。

如何进行Zookeeper分析与集群搭建

如何进行Zookeeper分析与集群搭建
客户端发起事务请求,事务请求的结果在整个Zookeeper集群中所有机器上的应用情况是一致的。不会出现集群中部分机器应用了该事务,而存在另外一部分集群中机器没有应用该事务的情况。在Zookeeper集群中的任何一台机器,其看到的服务器的数据模型是一致的。Zookeeper能够保证客户端请求的顺序,每个请求分配一个全局唯一的递增编号,用来反映事务操作的先后顺序。Zookeeper将全量数据保存在内存中,并直接服务于所有的非事务请求,在以读操作为主的场景中性能非常突出。

Zookeeper使用的数据结构为树形结构,根节点为"/"。Zookeeper集群中的节点,根据其身份特性分为leader、follower、observer。leader负责客户端writer类型的请求;follower负责客户端reader类型的请求,并参与leader选举;observer是特殊的follower,可以接收客户端reader请求,但是不会参与选举,可以用来扩容系统支撑能力,提高读取速度。

Zookeeper是一个基于观察者模式设计的分布式服务管理框架,负责存储和管理相关数据,接收观察者的注册。一旦这些数据的状态发生变化,zookeeper就负责通知那些已经在zookeeper集群进行注册并关心这些状态发生变化的观察者,以便观察者执行相关操作。

Zookeeper使用的是ZAB原子消息广播协议,节点之间的一致性算法为Paxos,能够保障分布式环境中数据的一致性。分布式场景下高可用是Zookeeper的特性,可以采用第三方客户端的实现,即Curator框架。

如何进行Zookeeper分析与集群搭建


Paxos 算法解决的问题是一个分布式系统如何就某个值(决议)达成一致。一个典型的场景是,在一个分布式数据库系统中,如果各节点的初始状态一致,每个节点执行相同的操作序列,那么他们最后能得到一个一致的状态。为保证每个节点执行相同的命令序列,需要在每一条指令上执行一个“一致性算法”以保证每个节点看到的指令一致。一个通用的一致性算法可以应用在许多场景中,是分布式计算中的重要问题。因此从20世纪80年代起对于一致性算法的研究就没有停止过。节点通信存在两种模型:共享内存(Shared memory)和消息传递(Messages passing)。Paxos 算法就是一种基于消息传递模型的一致性算法。
不仅仅是分布式系统中,凡是多个过程需要达成某种一致的场合都可以使用Paxos 算法。一致性算法可以通过共享内存(需要锁)或者消息传递实现,Paxos 算法采用的是后者。Paxos 算法适用的几种情况:一台机器中多个进程/线程达成数据一致;分布式文件系统或者分布式数据库中多客户端并发读写数据;分布式存储中多个副本响应读写请求的一致性。
Zookeeper集群搭建

在本文中Zookeeper节点个数(奇数)为3个。Zookeeper默认对外提供服务的端口号2181 。Zookeeper集群内部3个节点之间通信默认使用2888:3888

192.168.0.217   192.168.0.218    192.168.0.219

下载zookeeper对应的tar包

如何进行Zookeeper分析与集群搭建

分别上传tar包到192.168.0.217   192.168.0.218    192.168.0.219

如何进行Zookeeper分析与集群搭建

在217、218、219三个zookeeper节点上分别执行下行指令,然后将解压后的文件名zookeeper-3.4.10修改为zookeeper。

tar -zxvf zookeeper-3.4.10.tar.gz -C /usr/local/

在三个zookeeper节点配置环境变量

vim /etc/profile

添加export ZOOKEEPER_HOME=/usr/local/zookeeper

在path中添加$ZOOKEEPER_HOME/bin

如何进行Zookeeper分析与集群搭建

执行source /etc/profile   使环境变量立即生效

修改zookeeper中conf目录下的zoo_sample.cfg为zoo.cfg

如何进行Zookeeper分析与集群搭建

修改三个zookeeper节点中的zoo.cfg文件,修改dataDir,添加server.0、server.1、server.2

如何进行Zookeeper分析与集群搭建

在zookeeper目录下,创建data目录。在3个zookeeper节点中data目录下分别创建myid文件,并分别添加内容0、1、2

如何进行Zookeeper分析与集群搭建

启动zookeeper

如何进行Zookeeper分析与集群搭建

zkServer.sh start

zkServer.sh status

如何进行Zookeeper分析与集群搭建

在zookeeper中任意一个节点,执行指令zkCli.sh

如何进行Zookeeper分析与集群搭建

执行指令zkCli.sh help  ,查看帮助信息

如何进行Zookeeper分析与集群搭建

ls  /   查找根目录

create /test abc   创建节点并赋值

get /test   获取指定节点的值

set /test cb  设置已存在节点的值

rmr /test  递归删除节点

如何进行Zookeeper分析与集群搭建

如何进行Zookeeper分析与集群搭建

delete /test/test01  删除不存在子节点的节点

如何进行Zookeeper分析与集群搭建

在Eclipse中查看Zookeeper集群节点

也可以使用ZooInspector查看。

如何进行Zookeeper分析与集群搭建

此时,在Xshell中执行zkCli.sh,查看Zookeeper集群中树形结构的内容

如何进行Zookeeper分析与集群搭建

在Eclipse、ZooInspector中均可以添加、删除Zookeeper集群的节点

如何进行Zookeeper分析与集群搭建

上述内容就是如何进行Zookeeper分析与集群搭建,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注编程网行业资讯频道。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

如何进行Zookeeper分析与集群搭建

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

如何进行Zookeeper分析与集群搭建

本篇文章为大家展示了如何进行Zookeeper分析与集群搭建,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Zookeeper简介Zookeeper是一个高效的分布式协调服务,可以提供配置信息管理、命
2023-06-02

zookeeper集群搭建实例分析

今天小编给大家分享一下zookeeper集群搭建实例分析的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、准备三台虚拟机,并
2023-07-02

Zookeeper集群如何搭建

这篇文章主要介绍“Zookeeper集群如何搭建”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Zookeeper集群如何搭建”文章能帮助大家解决问题。一、Zookeeper原理简介ZooKeeper
2023-06-28

如何进行HA分布式集群搭建

今天就跟大家聊聊有关如何进行HA分布式集群搭建,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。一:HA分布式配置的优势:  1,防止由于一台namenode挂掉,集群失败的情形  2,
2023-06-03

如何进行Redis 6.X Sentinel哨兵集群搭建

如何进行Redis 6.X Sentinel哨兵集群搭建,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。码哥带大家完成在 CentOS 7 中安装 Redis 6
2023-06-15

如何进行zookeeper端口的分析

如何进行zookeeper端口说明,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一、zookeeper有三个端口(可以修改) 1、2181 2、3888
2023-06-03

Hadoop集群怎么搭建及如何进行Python操作

这期内容当中小编将会给大家带来有关Hadoop集群怎么搭建及如何进行Python操作,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。最近项目中在做千亿大数据存储检索需求,要把10T的文本数据进行解析处理存入
2023-06-15

如何进行搭建VC环境分析

本篇文章为大家展示了如何进行搭建VC环境分析,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。C语言发展起来的一种新的程序设计语言。C语言诞生于20世纪70年代,是一种应用相当广泛的程序设计语言,使得使
2023-06-17

深入剖析MongoDB的复制集与分片集群的搭建与优化

深入剖析MongoDB的复制集与分片集群的搭建与优化概述在大规模应用程序中,数据存储和管理是至关重要的。MongoDB作为一种非关系数据库解决方案,广泛用于处理大规模数据集和高负载应用程序的需求。MongoDB的数据复制和分片功能让用户能够
深入剖析MongoDB的复制集与分片集群的搭建与优化
2023-11-04

如何进行MongoDB副本集搭建

如何进行MongoDB副本集搭建,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。我们之前的案例都是在单个节点上实现的,在生产环境中这种做法是有风险的,如果服务宕机
2023-06-19

Elasticsearch分布式集群搭建与管理实践(如何构建并管理一个高效的Elasticsearch分布式集群?)

本文详细讲解了构建和管理高效Elasticsearch分布式集群的实践。涵盖了集群架构、硬件和网络、安装和配置、集群管理、性能优化以及最佳实践等方面。遵循文中指导,可以构建一个可靠且满足搜索和分析需求的Elasticsearch集群。
Elasticsearch分布式集群搭建与管理实践(如何构建并管理一个高效的Elasticsearch分布式集群?)
2024-04-02

Sphinx分布式搜索集群的搭建与运维管理(如何构建并维护Sphinx分布式搜索集群?)

本文详细介绍了如何构建并维护Sphinx分布式搜索集群,包括安装、配置、运维管理和最佳实践。搭建步骤包括安装Sphinx、创建索引、配置分布式集群和负载均衡。运维管理涉及监控、故障排除、索引管理、系统更新、备份和恢复以及性能优化。最佳实践包括使用不同服务器进行主辅分离、监控和优化、创建备份以及在进行更改之前进行测试。
Sphinx分布式搜索集群的搭建与运维管理(如何构建并维护Sphinx分布式搜索集群?)
2024-04-02

如何进行服务器LNMP环境搭建的分析

今天就跟大家聊聊有关如何进行服务器LNMP环境搭建的分析,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。WordPress建站,需要做从服务器配置、域名解析、宝塔面板、wordpres
2023-06-04

详解如何利用Python进行客户分群分析

每个电子商务数据分析师必须掌握的一项数据聚类技能,如果你是一名在电子商务公司工作的数据分析师,从客户数据中挖掘潜在价值,来提高客户留存率很可能就是你的工作任务之一。这篇就来告诉你如何将客户分成不同的群组,并在一段时间内观察每个群组的留存率
2023-02-24

如何进行大数据平台的搭建和数据分析

如何进行大数据平台的搭建和数据分析,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。  行内人士皆知,大数据分析平台的搭建有利于帮助企业构建统一的数据存储和数据处理
2023-06-02

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录