赞
踩
一、描述
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。
伪分布式集群就是在一台机器部署多个zk应用,部署之前服务器需要有jdk环境 java -version可以显示相关java信息才可以进行zookeeper搭建
二、步骤
zookeeper基本的配置文件
我们先看一下给的示例配置文件zoo_sample.cfg
其中默认的配置参数有这么几个
tickTime=2000 ,心跳间隔时间 2000毫秒
initLimit=10 , leader和follower同步的时间间隔,10 代表10个心跳间隔进行数据同步一次。(基础知识:zookeeper集群环境下,Leader作为整个ZooKeeper集群的主节点,负责响应所有对ZooKeeper状态变更的请求。follower主要响应本服务器上的读请求)
synchLimit=5 ,leader和follower失去连接多久后,follower会被放弃,这里5代表5个心跳间隔仍然没有通信,那么follower会被集群放弃。
dataDir=/tmp/zookeeper , 数据存放的目录
clientPort=2181 , 这个服务监听的端口号
这里进行集群配置我们需要在修改配置文件,在配置文件中加入集群的服务器配置。
解释一下:
我在这个配置文件中加入了集群的配置
server.1=localhost:2187:2887
server.2=localhost:2188:2888
server.3=localhost:2189:2889
其中server代表服务,等号前面数字代表服务的ID,等号后面host和port还有备用host。我打算搭建三个服务作为一个伪集群,所以写了三个。
实际中是真集群,那么就是host不同端口号port相同。
另外还配置了zookeeper的数据存放文件位置/tmp/zookeeper/data/d_1
还配置了zookeeper的日志存放文件/tmp/zookeeper/log/log_1
这里我先放到了临时文件目录下,实际中不能这么放。数据是要妥善存放的。这样基本的配置就配置好了。
同时还配置了最大链接客户端数量 maxClientCnxns=60
6. 把文件复制三份,进行修改。
把对应的 zoo2.cfg 中的端口改完2182 ,数据文件以及日志文件相应改名。
7. 在集群环境下zookeeper要把数据文件和配置文件进行关联,才能知道哪个数据文件对应哪个节点服务。因此要在数据文件中配置myid。
这里我已经建立好myid文件
同样进入目录d_2和d_3进行配置
8. 至此伪集群的搭建完成,下面启动测试
这里是有几个命令使用zkServer.sh 进行启动
启动服务端:
9. 启动客户端链接:
可以看到 成功与 zookeeper建立的链接。
之后就可以进行操作。
关于zookeeper的客户端操作命令可以进入客户端的入口类进行查看。从图中可以看到 org.apache.zookeeper.ZooKeeperMain是入口类。
有了这些我们就可以知道 这些操作都是如何执行的了,这个以后可以查看。
10.关闭zookeeper服务
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。