分布模式安装ZooKeeper

来源:互联网 发布:北京java语言编程培训 编辑:程序博客网 时间:2024/04/30 22:22

ZooKeeper(以下简称ZK)是一个分布式协调服务框架,可以做到各节点之间的数据强一致性。简单的理解就是在一个节点修改某个变量的值后,在其他节点可以最新的变化,这种变化是事务性的。通过在ZK节点上注册监听器,就可以获得数据的变化。

1.确定集群结构

我们打算在三个节点安装ZK,分别是192.168.1.221(hadoop1)、192.168.1.222(hadoop2)、192.168.1.223(hadoop3)。首先在hadoop1中部署。

注意:一定要保证各节点的系统时间相同。

2.解压缩、设置环境变量

在hadoop1,我们把zookeeper-3.4.5.tar.gz复制到/usr/local目录下,解压缩,重命名为zk,然后在/etc/profile中设置环境变量。具体命令可以参照前面的文章。

3.修改集群的配置

进入到${ZOOKEEPER_HOME}/conf目录下,有一个文件是zoo_sample.cfg,重命名为zoo.cfg。打开这个文件进行编辑

变量dataDir表示数据存放的目录,把该值修改为/usr/local/zk/data。

在文件的最后增加三行内容,如下

server.1=hadoop1:2888:3888server.2=hadoop2:2888:3888server.3=hadoop3:2888:3888

每一行表示一个配置信息,现在解释一下每行的内容,以第一行为例。其中的server是固定名称;1只是一个标记,只要保证与下面的所有标记不重复即可;后面的hadoop1表示主机名,即ZK部署的主机;2888表示ZK之间通信用的端口;3888表示ZK之间选举用的端口。

然后创建/usr/local/zk/data目录。

进入data目录,创建文件myid。myid的内容是该主机名对应的标记数字。如果是hadoop1,那么数字就是1;如果是hadoop2,那么数字就是2;如果是hadoop3,那么数字就是3。

4.配置其他节点

执行命令,把安装文件从hadoop1复制到其他节点,如下

scp -rq /usr/local/zk hadoop2:/usr/localscp -rq /usr/local/zk hadoop3:/usr/localscp /etc/profile hadoop2:/etc/scp /etc/profile hadoop3:/etc/

进入hadoop2中,把文件myid的内容修改为2;进入hadoop3,把文件myid的内容修改为3。

5.启动集群

在三个节点的终端中,分别执行命令

zkServer.sh  start

这样,就启动了ZK集群。

6.验证

我们如何判断启动是否成功哪?

可以在终端执行jps查看,会看到一个新的java进程QuorumPeerMain。这就是ZK的java进程。

也可以在三个终端分别执行命令

zkServer.sh  status

会看到一个输出信息含有Mode: Leader,两个输出信息含有Mode: Follower。

至此,ZooKeeper的分布式安装就结束了。恭喜!

1 0
原创粉丝点击