zookeeper笔记

目的:想把爬虫系统的配置转移到zookeeper管理

zookeeper作为一个帮助搭建分布式系统的框架,在统一管理配置和选举master上的非常优秀。

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等  


zookeeper安装部署

测试使用zookeeper非常简单,现在现在,简单的配置即可

download : http://www.apache.org/dyn/closer.cgi/zookeeper/(官方推荐版本) 

解压:目录结构 最主要的几个目录

bin启动命令所在目录
confzookeeper的配置 zoo.conf

windows下点击 zkserver.cmd 启动

zoo.conf的具体配置种目前最关键的就是 对外的端口 默认 2181

观察控制台,一般不报错,就是启动成功了。


简单理解  

1:zookeeper 实现了一个简单的树形结构的文件系统,node节点的概念就是树形结构上的一个节点。


这样一个结构,每一个node节点都可以存储数据,配置的统一管理实现根本也在这个地方,把配置数据存储到某一个节点上,我肯可以想象成我们在我们的电脑上建了一个层级的文件夹层,每一个文件夹内都可以存放数据,这些数据就是我们需要统一管理的配置信息。

2:如何实现的数据一致性 。

watcher :zookeeper客户端调用的时候,会定义一个wather ,watcher的概念我的理解就是一个看门狗,时刻的监控的自己监控的节点的数据变化,  比如我们把我们爬虫系统全局的一些信息(网站的最大并并发请求maxRrequestNum)存储到了node2-2 上,这个时候客户端连接到zookeeper文件系统后,对node2-2 这个path添加了监听,文件内容发生变化,通知客户端(对应举个例子就是给看门狗安排了个任务,给我看着这块地方,如果这块地方有啥动静,就叫两声,让主人知道),客户端收到这个变化的通知后,就可以同步最新的数据,保证数据一致性。给感兴趣的node添加的这个watcher(条看门狗)是保证一致性的关键。他可以在发生数据变化的时候及时通知客户端(主人)。

3:zookeeper 客户端调用。

 3.1:zookeeper自带了客户端调用的api

3.2: 还有一些三方封装的zkclient,使用起来也非常的方便。

 

3.3:调用代码:

code area

选举:

稍后在再研究....

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值