一、zookeeper

Zookeeper 是 Google 的 Chubby一个开源的实现,是 Hadoop 的分布式协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等

Zookeeper服务器集群规模不小于3个节点,要求各服务器之间系统时间要保持一致。ZooKeeper的搭建是为了后面HBase的使用。

二、集群模式搭建

我的集群是Hadoop1.2.1版本,共三个节点

将使用的是zookeeper-3.4.5.tar.gz版本,下载地址http://pan.baidu.com/s/1gf9AWs7

1.解压

解压ZooKeeper安装包,我的解压目录是/usr/zookeeper-3.4.5

安装包在桌面

命令:sudo tar –zxvf /home/zhong/Desktop/zookeeper-3.4.5.tar.gz –C /usr

更改文件夹owner: sudo chown –R zhong:root zookeeper-3.4.5

完成之后可以通过命令:ls  –l 查看


2.修改环境变量

命令:sudo vim  /etc/profile

增加一行:export ZOOKEEPER_HOME=/usr/zookeeper-3.4.5

并添加PATH


 退出后执行命令:source /etc/profile 是配置生效

3.进入zookeeper的conf目录下,修改文件名:mvzoo_sample.cfg  zoo.cfg

4.编辑zoo.cfg (在conf目录下操作)

执行命令:sudo vim zoo.cfg

  ①修改dataDir=/usr/zookeeper-3.4.5/data

  ②新增server.0=Master:2888:3888

                    server.1=Slave1:2888:3888

                    server.2=Slave2:2888:3888


5.创建data文件夹,并创建myid文件:

① 建data文件夹:sudo mkdir /usr/zookeeper-3.4.5/data

② 建myid文件:sudo vim myid,并设置第一台server为0。


 

6.在其他两个Slave节点机器中同样配置

可使用scp命令直接复制过去

复制环境变量

① scp /etc/profile zhong@Slave1:/etc

② scp /etc/profile zhong@Slave2:/etc

   复制zoopeeker文件夹

sduo scp /usr /zookeeper-3.4.5 zhong@Slave1:/usr/

sudo scp /usr /zookeeper-3.4.5 zhong@Slave2:/usr/

在其余两台机器中修改myid,分别设置为1和2


 

7.启动ZooKeeper,分别在三个节点的ZOOKEEPER_HOME/bin目录下执行命令:./zkServer.sh start

注新手常犯错误:我在首次运行的时候先是在ZOOKEEPER_HOME/bin目录下按照习惯直接执行zkServer.sh start命令,提示错误command not found,上网查了之后才发现正确的为./zkServer.sh start或者在ZOOKEEPER_HOME目录下直接执行bin/zkServer.sh start


8.检查ZooKeeper集群中各节点角色状态

分别在三个节点的ZOOKEEPER_HOME/bin目录下执行命令:./zkServer.sh status


9. 所有节点ZOOKEEPER_HOME/bin目录下都执行命令zkServer.sh stop关闭ZooKeeper

 

三、简单测试

进行简单的读写操作测试ZooKeeper系统的一致性

在ZOOKEEPER_HOME/bin目录下执行命令:./Cli.sh

在其中一个节点上执行一个写操作:create /MyTest01 test,在所有的节点上都可以执行get命令得到数据。



Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐