Heim  >  Artikel  >  Datenbank  >  Zookeeper 3.4.5 集群安装笔记

Zookeeper 3.4.5 集群安装笔记

WBOY
WBOYOriginal
2016-06-07 17:34:11975Durchsuche

Zookper是一种分布式的,开源的,应用于分布式应用的协作服务。它提供了一些简单的操作,使得分布式应用可以基于这些接口实现诸如

Zookper是一种分布式的,开源的,应用于分布式应用的协作服务。它提供了一些简单的操作,使得分布式应用可以基于这些接口实现诸如同步、配置维护和分集群或者命名的服务。 网上有很多的安装教程,有些确实很不错,但总有一些比较坑的,误导了大家的安装,这次把自己亲身经历,安装的步骤和在安装中遇到的一些问题发布出来,供大家共同学习。

首先,当然是下载zookeeper的安装包。下载地址:  通过下面的命令:wget  

 然后进入该目录,直接解压: tar zxvf zookeeper-3.4.5.tar.gz

修改    zookeeper-3.4.5/conf目录下面的zoo_sample.cfg为zoo.cfg 。通过命令 : mv  zoo_sample.cfg  zoo.cfg

并且进一步配置文件的内容如下所示:

tickTime=2000
dataDir=/home/Hadoop/zookeeper/data
clientPort=2181
initLimit=10
syncLimit=5
server.1=Master.Hadoop:2888:3888
server.2=Slave1.Hadoop:2888:3888
server.3=Slave2.Hadoop:2888:3888

其中各个字段都有自己的含义,有兴趣的可以自己查阅相关字段的意义。下面的server.1,server.2,server.3标签表示的是3个zookeeper节点,他们都是相同的地位,,在工作的时候他们通过一个算法来推举出来一个leader其他的都是follower,在后面的验证中可以看到。他的服务如下图所示:

image

发布到其他的两个节点,(执行前注意自己的所在目录):

scp -r zookeeper-3.4.5/ hadoop@Slave1.Hadoop:~/zookeeper/
scp -r zookeeper-3.4.5/ hadoop@Slave2.Hadoop:~/zookeeper/

设置myid    在我们配置的dataDir指定的目录下面,创建一个myid文件,里面内容为一个数字,用来标识当前主机,conf/zoo.cfg文件中配置的server.X中X为什么数字,则myid文件中就输入这个数字,例如:

hadoop@Master:~/zookeeper$ echo "1" > /home/hadoop/zookeeper/myid
hadoop@Slave1:~/zookeeper$ echo "2" > /home/hadoop/zookeeper/myid
hadoop@Slave2:~/zookeeper$ echo "3" > /home/hadoop/zookeeper/myid

启动zookeeper

hadoop@Master:~/zookeeper/zookeeper-3.3.4$ bin/zkServer.sh start
hadoop@Slave1:~/zookeeper/zookeeper-3.3.4$ bin/zkServer.sh start
hadoop@Slave2:~/zookeeper/zookeeper-3.3.4$ bin/zkServer.sh start

因为3个节点的启动是有顺序的所以在陆续启动三个节点的时候,前面先启动的节点连接未启动的节点的时候会报出一些错误。可以忽略。

出现的一个问题。下面是查看日志的截图:

经过检查发现时在配置文件 zoo.cfg中写的目录有问题。配置的目录和新建myid的目录不一样造成的。在第6步中容易发现问题。修改myid的目录。

查看是否成功。

后面检测三个节点的状态:

ZooKeeper 的详细介绍:请点这里
ZooKeeper 的下载地址:请点这里

相关阅读:

ZooKeeper集群配置

使用ZooKeeper实现分布式共享锁

分布式服务框架 ZooKeeper -- 管理分布式环境中的数据

ZooKeeper集群环境搭建实践

ZooKeeper服务器集群环境配置实测

ZooKeeper集群安装

linux

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn