文档章节

zookeeper入门

siri李
 siri李
发布于 2016/07/25 22:34
字数 724
阅读 25
收藏 0

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

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

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


zookeeper安装部署

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

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

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

bin 启动命令所在目录
conf zookeeper的配置 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

选举:

稍后在再研究....

© 著作权归作者所有

共有 人打赏支持
siri李
粉丝 3
博文 34
码字总数 22317
作品 0
昌平
高级程序员
私信 提问
docker入门到实战(6)在docker中安装和使用kafka

下载镜像 这里使用了wurstmeister/kafka和wurstmeister/zookeeper这两个版本的镜像,在hub.docker.com中可以搜索到。 1、docker pull wurstmeister/zookeeper 2、docker pull wurstmeister/...

编程老司机
2018/05/14
0
0
zookeeper入门(1)在单机上实现ZooKeeper伪机群/伪集群部署

《zooker入门系列教程》: 1 - 如何在单机上实现ZooKeeper伪机群/伪集群部署 2 - 解读zookeeper的配置项 ----- 此文是为手头没有多余机器可以尝试而又需要尝试部署机群的情况而写的,是一个入...

晨曦之光
2012/04/24
1K
0
ZooKeeper分布式专题与Dubbo微服务入门

ZooKeeper分布式专题与Dubbo微服务入门 网盘地址:https://pan.baidu.com/s/1TN6BlftB2uvvyVR7IDmODQ 密码: e6zt 备用地址(腾讯微云):https://share.weiyun.com/5539X2S 密码:65b36i Zo...

人气王子333
2018/04/17
0
0
【Kafka 1.x】快速入门

本博客文章如无特别说明,均为原创!转载请注明出处:Big data enthusiast(http://www.lubinsu.com/) 本文链接地址:【Kafka 1.x】快速入门(http://www.lubinsu.com/index.php/archives/475)...

snoopy93
2018/05/08
0
0
一篇文章带你入门Zookeeper

Zookeeper是什么 官方文档上这么解释zookeeper,它是一个分布式服务框架,是Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态...

动力节点
01/10
0
0

没有更多内容

加载失败,请刷新页面

加载更多

租房软件隐私保护如同虚设

近日,苏州市民赵先生向江苏新闻广播新闻热线025-84658888反映,他在“安居客”手机应用软件上浏览二手房信息,并且使用该软件自动生成的虚拟号码向当地一家中介公司进行咨询。可电话刚挂不久...

linux-tao
今天
1
0
分布式项目(五)iot-pgsql

书接上回,在Mapping server中,我们已经把数据都整理好了,现在利用postgresql存储历史数据。 iot-pgsql 构建iot-pgsql模块,这里我们写数据库为了性能考虑不在使用mybatis,换成spring jd...

lelinked
今天
4
0
一文分析java基础面试题中易出错考点

前言 这篇文章主要针对的是笔试题中出现的通过查看代码执行结果选择正确答案题材。 正式进入题目内容: 1、(单选题)下面代码的输出结果是什么? public class Base { private Strin...

一看就喷亏的小猿
今天
2
0
cocoapods 用法

cocoapods install pod install 更新本地已经install的仓库 更新所有的仓库 pod update --verbose --no-repo-update 更新制定的仓库 pod update ** --verbose --no-repo-update...

HOrange
今天
3
0
linux下socket编程实现一个服务器连接多个客户端

使用socekt通信一般步骤 1)服务器端:socker()建立套接字,绑定(bind)并监听(listen),用accept()等待客户端连接。 2)客户端:socker()建立套接字,连接(connect)服务器,连接上后...

shzwork
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部