本文共 2662 字,大约阅读时间需要 8 分钟。
ZooKeeper是一个分布式开源框架,提供了协调分布式应用的基本服务,它向外部应用暴露一组通用服务——分布式同步(Distributed Synchronization)、命名服务(Naming Service)、集群维护(Group Maintenance)等,简化分布式应用协调及其管理的难度,提供高性能的分布式服务。ZooKeeper本身可以以Standalone模式安装运行,不过它的长处在于通过分布式ZooKeeper集群(一个Leader,多个Follower),基于一定的策略来保证ZooKeeper集群的稳定性和可用性,从而实现分布式应用的可靠性。
# The number of milliseconds of each ticktickTime=2000# The number of ticks that the initial # synchronization phase can takeinitLimit=5# The number of ticks that can pass between # sending a request and getting an acknowledgementsyncLimit=2# the directory where the snapshot is stored.# do not use /tmp for storage, /tmp here is just # example sakes.dataDir=/root/zookeeper/data# the port at which the clients will connectclientPort=2181
启动ZooKeeper单节点服务器进程,查看是否正常
在Zookeeper目录下的bin文件加下,存放着各种操作命令,如下: 其中.sh均为linux系统下的命令,.cmd为windows系统下命令,zkCli.sh是启动zookeeper客户端命令。 启动: cd /zookeeper-3.4.5/bin ./zkServer.sh start使用jps查看进程,会发现多出来一条QuorumPeerMain进程。
在有了单节点的zookeeper后,配置zookeeper分布式只需再次基础上做出修改即好。
server.1=hadoopm:2888:3888 server.2=hadoop_s1:2888:3888 server.3=hadoop_s2:2888:3888
server后面的数字即为各个zookeeper的编号,在后面需要为zookeeper设置编号。
scp -r zookeeper-3.4.5/ root@hadoop_s1:/usr/localscp -r zookeeper-3.4.5/ root@hadoop_s2:/usr/local
root@hadoopm:echo "1" > /root/zookeeper/data/myidroot@hadoop_s1:echo "2" > /root/zookeeper/data/myidroot@hadoop_s2:echo "3" > /root/zookeeper/data/myid
root@hadoopm:/usr/local/zookeeper-3.4.5/bin# ./zkServer.sh statusJMX enabled by defaultUsing config: /usr/local/zookeeper-3.4.5/bin/../conf/zoo.cfgMode: followerroot@hadoop_s1:/usr/local/zookeeper-3.4.5/bin# ./zkServer.sh statusJMX enabled by defaultUsing config: /usr/local/zookeeper-3.4.5/bin/../conf/zoo.cfgMode: leaderroot@hadoop_s2:/usr/local/zookeeper-3.4.5/bin# ./zkServer.sh statusJMX enabled by defaultUsing config: /usr/local/zookeeper-3.4.5/bin/../conf/zoo.cfgMode: follower
至此,Zookeeper集群安装完毕,可以为以后的Hbase集群等工作打下基础。
参考: