没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
1.1
1.2
1.3
1.4
1.4.1
1.4.2
1.4.3
1.4.4
1.4.5
1.5
1.5.1
1.5.2
1.5.3
1.5.4
1.5.5
1.6
1.6.1
1.6.2
1.6.3
1.7
1.7.1
1.7.2
TableofContents
自序
概述
安装和运行Zookeeper
Zookeeper开发实例
ZooKeeper中的组和成员
创建组
加入组
成员列表
删除分组
Zookeeper服务
数据模型DataModel
操作Operations
实现Implementation
数据一致性Consistency
会话Sessions
ZooKeeper应用程序BuildingApplicationswithZooKeeper
配置服务ConfigurationService
坚韧的ZooKeeper应用TheResilientZooKeeperApplication
一个稳定的配置服务Areliableconfigurationservice
生产环境中的ZooKeeperZooKeeperinProduction
韧性和性能ResilienceandPerformance
配置
2
自序
2016年9月底,于北京
最早接触ZooKeeper是因为工作上使用了Kafka集群,看了一些ZooKeeper的资料。那时对
ZooKeeper懵懵懂懂,后来心里有很多疑问。比如,那时根本搞不清ZooKeeper是如何实现集
群调度的,client的意义和znode的意义是什么?leader选举是ZooKeeper服务器之间的策略算
法,还是Client之间的策略算法,甚至当时我真的混淆了(书中也提到了这一点)?
ZooKeeper到底起了什么作用?而且最开始的一个错误理解,认为每一台Kafka服务器上都需
要一个ZooKeeper,然后ZooKeeper来帮助Kafka实现集群内的数据一致性等特性。
当时按照教程搭建了Kafka集群,应用起来也是行云流水,好像跟ZooKeeper没有多大关系
了。后来,我买了本《Hadoop:TheDefinitiveGuide4thEdition》。当通读了ZooKeeper相
关章节后,我的心里对我之前ZooKeeper的认识,只剩下两个字了——呵呵-_-|||
一切都好像拨云见日那样清爽了。不仅仅是对ZooKeeper的认识更深了,也让自己对分布式
系统的认识上升了一个台阶。
最后,我考虑要整理一下关于ZooKeeper的读书笔记,其实内容多是读书时自己的翻译。那
为什么不把《Hadoop:TheDefinitiveGuide4thEdition》关于ZooKeeper的内容翻译过来
呢,这样不是对于我来说更简单一些?于是,我就在我的博客上开始了翻译工作。
经过两个月陆陆续续的翻译,现在终于可以发出来了!本书的内容来自《Hadoop:The
DefinitiveGuide4thEdition》,在这里向书的作者和贡献者致以崇高的敬意。
本书的内容纯属个人业余翻译,欢迎各位读者批评!这里留下作者的email,欢迎大家吐
槽!holynull@126.com
自序
3
概述
Zookeeper是Hadoop分布式调度服务,用来构建分布式应用系统。构建一个分布式应用是一
个很复杂的事情,主要的原因是我们需要合理有效的处理分布式集群中的部分失败的问题。
例如,集群中的节点在相互通信时,A节点向B节点发送消息。A节点如果想知道消息是否发
送成功,只能由B节点告诉A节点。那么如果B节点关机或者由于其他的原因脱离集群网络,
问题就出现了。A节点不断的向B发送消息,并且无法获得B的响应。B也没有办法通知A节点
已经离线或者关机。集群中其他的节点完全不知道B发生了什么情况,还在不断的向B发送消
息。这时,你的整个集群就发生了部分失败的故障。
Zookeeper不能让部分失败的问题彻底消失,但是它提供了一些工具能够让你的分布式应用安
全合理的处理部分失败的问题。
概述
4
安装和运行Zookeeper
我们采用standalone模式,安装运行一个单独的zookeeper服务。安装前请确认您已经安装了
Java运行环境。
我们去ApacheZooKeeperreleasespage下载zookeeper安装包,并解压到本地:
%tarxzfzookeeper-x.y.z.tar.gz
ZooKeeper提供了一些可执行程序的工具,为了方便起见,我们将这些工具的路径加入到
PATH环境变量中:
%exportZOOKEEPER_HOME=~/sw/zookeeper-x.y.z
%exportPATH=$PATH:$ZOOKEEPER_HOME/bin
运行ZooKeeper之前我们需要编写配置文件。配置文件一般在安装目录下的 conf/zoo.cfg。
我们可以把这个文件放在 /etc/zookeeper下,或者放到其他目录下,并在环境变量设
置 ZOOCFGDIR指向这个个目录。下面是配置文件的内容:
tickTime=2000
dataDir=/Users/tom/zookeeper
clientPort=2181
tickTime是zookeeper中的基本时间单元,单位是毫秒。datadir是zookeeper持久化数据存放
的目录。clientPort是zookeeper监听客户端连接的端口,默认是2181.
启动命令:
%zkServer.shstart
我们通过 nc或者telnet命令访问 2181端口,通过执行ruok(AreyouOK?)命令来检查
zookeeper是否启动成功:
%echoruok|nclocalhost2181
imok
那么我看见zookeeper回答我们“I’mOK”。下表中是所有的zookeeper的命名,都是由4个字符
组成。
安装和运行Zookeeper
5
剩余45页未读,继续阅读
资源评论
- qq_319812152019-02-01还行吧,勉强看一看
- jeancandoit2019-05-18作为入门基础还可以
ldzg0328
- 粉丝: 0
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功