1.简介
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、名字服务、分布式同步、组服务等。
2.集群搭建
- zk服务器集群规模不小于3个节点,要求各服务器之间系统时间要保持一致。
- 在hadoop0这台机器上的/usr/local目录下,解压缩zk….tar.gz,设置环境变量(zookeeper的环境变量可以不设置)
- 在conf目录下,修改文件 mv zoo_sample.cfg zoo.cfg
- 编辑该文件,执行vi zoo.cfg
修改,
dataDir=/usr/local/zk/data
新增,
server.0=hadoop0:2888:3888
server.1=hadoop1:2888:3888
server.2=hadoop2:2888:3888 - 创建文件夹mkdir /usr/local/zk/data(zoo.cfg中dataDire指定的目录)
- 在data目录下,创建文件myid,值为0
- 把zk目录复制到hadoop1和hadoop2中
scp -r /usr/local/zk hadoop1:/usr/local/
scp -r /usr/local/zk hadoop2:/usr/local/ - 把hadoop1中相应的myid的值改为1
- 把hadoop2中相应的myid的值改为2
- 启动,在三个节点上分别执行命令zkServer.sh start
- 检验,在三个节点上分别执行命令zkServer.sh status
3.简单使用
在bin目录下,有zkCli.sh,执行这个脚本就会进入zookeeper的命令行下,可以进行创建节点,给节点赋值,然后再在其他服务器上查看时,同样可以看到之前在另一台服务器上创建的节点。