ZooKeeper介绍、使用及原理

Zookeeper介绍                                                                                                                                                              

zookeeper是一个为分布式应用提供一致性服务的软件,它是开源的Hadoop项目中的一个子项目。

地址:http://zookeeper.apache.org

Zookeeper使用场景                                                                                                                                                       

1、命名服务

在zookeeper的文件系统里创建一个目录,即获得唯一的path。

2、配置管理

多服务器或多个不同的应用,修改公共的配置文件比较困难,现在把这些配置放到zookeeper上去,保存在zookeeper的某个目录节点中,然后所有相关项目对这个节点进行监听,一旦配置信息发生变化,每个应用程序都会受到zookeeper的通知,然后从zookeeper获取新的配置文件到应用程序中。

3、集群管理

4、分布式锁

5、队列管理

Zookeeper安装和使用                                                                                                                                                   

版本:zookeeper-3.4.6.tar.gz 

安装:解压zookeeper-3.4.6.tar.gz 即可

1、单机模式

解压zookeeper-3.4.6.tar.gz到某个目录如:C:\zookeeper-3.4.6\下,Zookeeper 的启动脚本在 bin 目录下,Windows 下的启动脚本是 zkServer.cmd。

执行前,需先修改配置文件:conf 目录下将 zoo_sample.cfg 改名为 zoo.cfg,因为 Zookeeper 在启动时会找这个文件作为默认配置文件。

配置文件zoo.cfg

# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial 
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between 
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just 
# example sakes.
dataDir=/tmp/zookeeper
# the port at which the clients will connect
clientPort=2181
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60
#
# Be sure to read the maintenance section of the 
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1
tickTime:这个时间是作为 Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳。
dataDir:顾名思义就是 Zookeeper 保存数据的目录,默认情况下,Zookeeper 将写数据的日志文件也保存在这个目录里。
clientPort:这个端口就是客户端连接 Zookeeper 服务器的端口,Zookeeper 会监听这个端口,接受客户端的访问请求。

配置好就可以启动 zkServer.cmd 了,可通过命令 netstat -ano 查看clientPort 端口号在监听服务。

2、集群模式

。。。。。。。。。。。。。。。。。。。。。。。。。。。

http://fengbin2005.iteye.com/blog/2007524

相关文章
相关标签/搜索