zookeeper是干什么的(zookeeper是什么意思)
本文目录
- zookeeper是什么意思
- Zookeeper可以干什么
- 什么是Zookeeper,Zookeeper的作用是什么,在Hadoop及hbase中具体,7
- zookeeper在Dubbo中扮演了一个什么角色,起到了什么作用啊
- Zookeeper-Zookeeper可以干什么
- zookeeper 到底是个什么
- Zookeeper(一)可以用来干什么
- apache zookeeper是干什么的
- 有没有人能通俗易懂的解释Zookeeper是什么
- 什么是mongodb,zookeeper,redis,solr
zookeeper是什么意思
zookeeper的汉语意思如下:
n.
动物园管理员。
zookeeper的读音是:英 。
zookeeper的造句如下:
Zookeeper Marc Rosset said: ’We speak of one to five animals per week, which become food.’
动物园管理员马克·罗赛特称:“我们每周会收到1到5只沦为食物的动物。”
Using a bunch of bananas, the zookeeper patiently persuaded the monkey back into its cage.
用一串香蕉,动物园管理员耐心地引猴子回到笼子里。
One zookeeper feeding. It’s time for dinner!
一个动物管理员在为它们,到吃晚饭的时间了。
ZooKeeper is a distributed, open-source coordination service for distributed applicati***.
针对分布式应用的分布式协作服务。
According to a zookeeper, the animal is a h***y-wolf hybrid.
一名饲养员表示,这只狗是哈士奇和狼的串种。
Imagine you are a zookeeper whose zoo is losing money.
想象你是一个正亏损的动物园里的一个动物饲养员。
Zookeeper可以干什么
zookeeper 是动物管理员的意思,动物园管理员负责照看那些动物园的动物,大到非洲象,小到亚马逊蛙等等,每个动物园和水族馆管理员的职责都不一样,有些负责照看一类动物,如哺乳动物、鸟类、爬行动物等;有的可能只负责照看灵长类动物或者大型猫科动物等
什么是Zookeeper,Zookeeper的作用是什么,在Hadoop及hbase中具体,7
、zookeeper是hbase必不可少的,它提供了分布式系统当中的高效协调服务。 2、hbase内置了zookeeper,但效果一般不好,一般都选择外置独立的zookeeper。 好长时间不整这个了,其实这些东西自己搭建一遍就能明白个八九了。 试试吧。
zookeeper在Dubbo中扮演了一个什么角色,起到了什么作用啊
Zookeeper是゛dubbo゛推荐的注册中心,是管理员!
就像一个分布式的项目,web层与 service层被拆分了开来, 部署在不同的tomcat中, 我在web层 需要调用 service层的接口,但是两个运行在不同tomcat下的服务无法直接互调接口,那么就可以通过zookeeper和dubbo实现。
我们通过dubbo 建立ItemService这个服务,并且到zookeeper上面注册,填写对应的zookeeper服务所在 的IP及端口号。【按照我上面的比喻就是,学生注册入学(接口是学号,学生本人是impl实现),填写学校教务网网址(就是zookeeper)】
dubbo的服务提供者会在zookeeper上面创建一个临时节点,表明自己的ip和端口,当消费者需要使用服务时,会先在zookeeper上面查询,找到服务提供者,做一些负载的选择(比如随机、轮流),然后按照这些信息,访问服务提供者。
Zookeeper一个分布式的服务框架,是树型的目录服务的数据存储,能做到集群管理数据 ,这里能很好的作为Dubbo服务的注册中心,Dubbo能与Zookeeper做到集群部署,当提供者出现断电等异常停机时,Zookeeper注册中心能自动删除提供者信息,当提供者重启时,能自动恢复注册数据,以及订阅请求。
Zookeeper-Zookeeper可以干什么
在Zookeeper的官 网上有这么一句话:ZooKeeper is a centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services.
这大概描述了Zookeeper主要可以干哪些事情:配置管理,名字服务,提供分布式同步以及集群管理。那这些服务又到底是什么呢?我们为什么需要这样的服务?我们又为什么要使用Zookeeper来实现呢,使用Zookeeper有什么优势?接下来我会挨个介绍这些到底是什么,以及有哪些开源系统中使用了。
配置管理
在我们的应用中除了代码外,还有一些就是各种配置。比如数据库连接等。一般我们都是使用配置文件的方式,在代码中引入这些配置文件。但是当我们只有一种配置,只有一台服务器,并且不经常修改的时候,使用配置文件是一个很好的做法,但是如果我们配置非常多,有很多服务器都需要这个配置,而且还可能是动态的话使用配置文件就不是个好主意了。这个时候往往需要寻找一种集中管理配置的方法,我们在这个集中的地方修改了配置,所有对这个配置感兴趣的都可以获得变更。比如我们可以把配置放在数据库里,然后所有需要配置的服务都去这个数据库读取配置。但是,因为很多服务的正常运行都非常依赖这个配置,所以需要这个集中提供配置服务的服务具备很高的可靠性。一般我们可以用一个集群来提供这个配置服务,但是用集群提升可靠性,那如何保证配置在集群中的一致性呢? 这个时候就需要使用一种实现了一致性协议的服务了。Zookeeper就是这种服务,它使用Zab这种一致性协议来提供一致性。现在有很多开源项目使用Zookeeper来维护配置,比如在HBase中,客户端就是连接一个Zookeeper,获得必要的HBase集群的配置信息,然后才可以进一步操作。还有在开源的消息队列Kafka中,也使用Zookeeper来维护broker的信息。在Alibaba开源的SOA框架Dubbo中也广泛的使用Zookeeper管理一些配置来实现服务治理。
名字服务
名字服务这个就很好理解了。比如为了通过网络访问一个系统,我们得知道对方的IP地址,但是IP地址对人非常不友好,这个时候我们就需要使用域名来访问。但是计算机是不能是别域名的。怎么办呢?如果我们每台机器里都备有一份域名到IP地址的映射,这个倒是能解决一部分问题,但是如果域名对应的IP发生变化了又该怎么办呢?于是我们有了DNS这个东西。我们只需要访问一个大家熟知的(known)的点,它就会告诉你这个域名对应的IP是什么。在我们的应用中也会存在很多这类问题,特别是在我们的服务特别多的时候,如果我们在本地保存服务的地址的时候将非常不方便,但是如果我们只需要访问一个大家都熟知的访问点,这里提供统一的入口,那么维护起来将方便得多了。
分布式锁
其实在第一篇文章中已经介绍了Zookeeper是一个分布式协调服务。这样我们就可以利用Zookeeper来协调多个分布式进程之间的活动。比如在一个分布式环境中,为了提高可靠性,我们的集群的每台服务器上都部署着同样的服务。但是,一件事情如果集群中的每个服务器都进行的话,那相互之间就要协调,编程起来将非常复杂。而如果我们只让一个服务进行操作,那又存在单点。通常还有一种做法就是使用分布式锁,在某个时刻只让一个服务去干活,当这台服务出问题的时候锁释放,立即fail over到另外的服务。这在很多分布式系统中都是这么做,这种设计有一个更好听的名字叫Leader Election(leader选举)。比如HBase的Master就是采用这种机制。但要注意的是分布式锁跟同一个进程的锁还是有区别的,所以使用的时候要比同一个进程里的锁更谨慎的使用。
集群管理
在分布式的集群中,经常会由于各种原因,比如硬件故障,软件故障,网络问题,有些节点会进进出出。有新的节点加入进来,也有老的节点退出集群。这个时候,集群中其他机器需要感知到这种变化,然后根据这种变化做出对应的决策。比如我们是一个分布式存储系统,有一个中央控制节点负责存储的分配,当有新的存储进来的时候我们要根据现在集群目前的状态来分配存储节点。这个时候我们就需要动态感知到集群目前的状态。还有,比如一个分布式的SOA架构中,服务是一个集群提供的,当消费者访问某个服务时,就需要采用某种机制发现现在有哪些节点可以提供该服务(这也称之为服务发现,比如Alibaba开源的SOA框架Dubbo就采用了Zookeeper作为服务发现的底层机制)。还有开源的Kafka队列就采用了Zookeeper作为Cosnumer的上下线管理。
后记
在这篇文章中,列出了一些Zookeeper可以提供的服务,并给出了一些开源系统里面的实例。后面我们从Zookeeper的安装配置开始,并用示例进一步介绍Zookeeper如何使用。
(转载)
zookeeper 到底是个什么
1. 什么是Zookeeper
大数据集群包括多种类型的服务节点,如何协调各节点之间的服务,需要一种强有力的工具来完成。如果我们把大数据集群中的每个服务节点当作一种动物,那么ZooKeeper便是这里的动物管理员了。借助百度百科的定义,ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务。
Zookeeper提供的服务功能有:
1) 数据注册功能;
2) 数据查询功能;
3) 数据**功能;
Zookeeper能用来做什么:
a) 分布式系统中主从协调
b) 分布式系统中配置信息同步
c) 分布式系统中分布式共享锁(Master选举)
d) 分布式系统中负载均衡
e) 分布式系统中明名称服务
2. Zookeeper的数据组织形式
Zookeeper的数据存储形式是key-value, key类型与平时我们看到的类型不太一样,这里是一种类似路径的形式,如”/aa/bb”。 value值是byte字节数组类型。 我们称它为ZNode。
ZNode根据其特点不同,可以分为三种类型:持久(persistent)节点、顺序(sequential)节点和临时(ephemeral)节点。
持久节点: 一经创建,就会一直存储,除非客户端主动删除该节点。
顺序节点:客户端在创建此类节点时,会在该节点后拼接上一个序号,类似/aa0000000001,/aa0000000002...
临时节点:创建此类节点时,客户端必须和zookeeper服务端保持心跳。
其中还可以将这三种节点进行组合:
永久节点+顺序节点;
临时节点+顺序节点;
Zookeeper(一)可以用来干什么
当我们在学习一项新技术的时候,首先应了解的就是它是用来干什么的。下面一段话是来自Zookeeper官网的一段解释:
ZooKeeper用于为分布式应用程序提供分布式并且开源的协调服务。它公开了一组简单的原语,分布式应用程序可以基于这些原语来实现用于同步,配置维护以及组和命名的更高级别的服务。
对于不了解Zookeeper的初学者来说,看完是不是很懵逼?所以本文将从程序员的角色出发,引导大家快速的去了解Zookeeper能够用来干什么。以此作为学习Zookeeper的入门,希望能够帮助到大家。
操作基于node组成的树形模型的方法很简单,无非就是创建node,删除node,**node等简单的操作。
在介绍Zookeeper的主要用途前,我们先按不同维度将node对象划分为几种类型。
综上,node可分为四大类。持久无序、持久有序、临时无序、临时有序。
到此,我们不妨思考一下,基于node的树形结构以及四种不同的分类,可以实现什么用途呢?
思考倒计时 10......
思考倒计时 9........
思考倒计时 8........
思考倒计时 0........
有没有跟笔者一样,一个都没想出来的同学?没关系,接下来就简明说说Zookeeper到底可以用来干什么?
获得锁时,无非就是多个客户端,争着抢着去创建同一个node节点,谁第一个创建成功,谁就获得锁。
释放时,抢到锁的客户端就去删除node,然后通知其他需要创建锁的客户端,去再次争抢创建node节点。
正如我们之前介绍的一共有四种类型的node,那么创建时我们该选择哪种类型呢?
如果选择持久node,那当持有该node锁的客户端出现网络故障后,会产生什么问题呢?客户端是不是就无法主动删除node,导致锁无**常释放了!所以我们应选用临时node,这样即时故障后,node锁也会随着会话结束而删除。
至于有序还是无序的node,则需要根据不同类型的锁来选择。例如:实现非公平独占锁,我们就选择无序;实现公平锁或共享锁,我们就选择有序。实现原理很简单,小伙伴们可以自己稍作思考,本文不再细说。
Master的选举过程其实类似node锁的创建,删除与**。
临时node由客户端A创建,所以客户端A所在服务器当选为master。
前面介绍过,node组成了树形结构。类似操作系统中的文件路径,树形分支上的node名称拼接成的全路径,它必定是唯一的。因此我们可以使用node的全路径作为命名方式。
本文作为Zookeeper的入门篇,主要从Node对象的角度讲解了Zookeeper可以用来干么。当然Node的设计还有更多可具体深入的地方。Zookeeper也不仅只有Node,还有更多值得我们学习的知识,例如:Watcher机制,如何保障事务的顺序一致性、集群间数据的一致性,以及必须要知道的ZAB协议等等。
最后祝大家看完此文后能够有所收获!
apache zookeeper是干什么的
简介 ZooKeeper是Hadoop的正式子项目,它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护、名字服务、分布式同步、组服务等。ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。
Zookeeper是Google的Chubby一个开源的实现.是高有效和可靠的协同工作系统.Zookeeper能够用来leader选举,配置信息维护等.在一个分布式的环境中,我们需要一个Master实例或存储一些配置信息,确保文件写入的一致性等.
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,包含一个简单的原语集,是Hadoop和Hbase的重要组件。
说白了是hadoop的组件之一,用来管理hadoop。
有没有人能通俗易懂的解释Zookeeper是什么
字面意思就是管理员,其是为了因对高并发服务器情况下的一种服务器策略。我理解的是在在多个从服务器之间只存在一个主服务器,一旦主服务器挂了,系统就会理解在剩下的从服务器中选举出一个主服务器,以维持整个集群的正常工作。说的好像太简单了。
什么是mongodb,zookeeper,redis,solr
MongoDB 是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致***的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。
Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。从2013年5月开始,Redis的开发由Pivotal赞助。
***隐藏网址***