ZooKeeper 分布式环境部署

举报
Smy1121 发表于 2019/06/20 18:02:01 2019/06/20
【摘要】 ZooKeeper 安装部署分为三种模式

ZooKeeper 安装部署

ZooKeeper 安装部署分为三种模式,请各位根据自己的实际情况选择不同的模式,下面分别介绍这三种模式。


单节点模式

1、首先到官方网站下载ZooKeeper安装包。 我这选择zookeeper-3.4.6版本。

image.png


2、对zookeeper-3.4.6安装包解压。


[root@cloud001 java]# tar xzf zookeeper-3.4.6.tar.gz //解压缩

[root@cloud001 java]# mv zookeeper-3.4.6 zookeeper //重命名ZooKeeper

[root@cloud001 java]# rm zookeeper-3.4.6.tar.gz //删除安装包

[root@cloud001 java]# chown -R hadoop:hadoop zookeeper //ZooKeeper文件权限赋予给hadoop用户

3、在ZooKeeper安装目录的conf目录下,创建一个配置文件zoo.cfg。


[hadoop@cloud001 conf]$ cp zoo_sample.cfg zoo.cfg

[hadoop@cloud001 conf]$ vi zoo.cfg

在zoo.cfg文件中,添加如下配置信息。


tickTime=2000

dataDir=/usr/java/zookeeper/data //data目录需要预先创建

dataLogDir=/usr/java/zookeeper/dataLog //datalog目录需要预先创建

clientPort=2181 //端口号

4、启动/关闭ZooKeeper Server,具体操作命令如下所示。


[hadoop@cloud001 zookeeper]$ bin/zkServer.sh start //启动ZooKeeper服务

[hadoop@cloud001 zookeeper]$ bin/zkServer.sh stop //关闭ZooKeeper服务

伪分布式模式

1、在一个节点上面创建3个文件夹,这3个文件夹分别为:Server1、Server2和Server3,然后在每个文件夹中解压ZooKeeper的安装包。


Server1/zookeeper

Server2/zookeeper

Server3/zookeeper

2、分别在Server1、Server2和Server3文件中,进入里面的data目录,创建myid文件,里面的内容分别输入1、2、3等数字,里面的数字内容用来标识当前主机。


Server1/zookeeper/data/myid //myid的内容输入1

Server2/zookeeper/data/myid //myid的内容输入2

Server3/zookeeper/data/myid //myid的内容输入3

3、分别在Server1、Server2和Server3的conf目录下,创建一个配置文件zoo.cfg。


[hadoop@cloud001 conf]$ cp zoo_sample.cfg zoo.cfg

[hadoop@cloud001 conf]$ vi zoo.cfg

在zoo.cfg文件中,添加如下配置信息。


tickTime=2000

dataDir=/usr/java/zookeeper/data

dataLogDir=/usr/java/zookeeper/datalog

clientPort=2181

initLimit=5

syncLimit=2

server.1=server1:2888:3888 //server.1 这里的1代表data目录下创建文件的内容1

server.2=server2:2889:3889 //2888~2890 代表提供为Client的端口号,因为在同一台机器上端口号需要区别开

server.3=server3:2890:3890 //3888~3890 代表不同服务直接访问的端口号,因为在同一台机器上端口号需要区别开


4、启动/关闭ZooKeeper Server,具体操作命令如下所示:

[hadoop@cloud001 zookeeper]$ bin/zkServer.sh start //启动ZooKeeper服务

[hadoop@cloud001 zookeeper]$ bin/zkServer.sh stop //关闭ZooKeeper服务


分布式模式

1、下载解压zookeeper,解压到指定目录 /usr/java/hadoop/app/。


[root@cloud001 app]# tar xzf zookeeper-3.4.6.tar.gz //解压缩

[root@cloud001 app]# mv zookeeper-3.4.6 zookeeper //重命名ZooKeeper

[root@cloud001 app]# rm zookeeper-3.4.6.tar.gz //删除安装包

[root@cloud001 app]# chown -R hadoop:hadoop zookeeper //ZooKeeper文件权限赋予给hadoop用户

在hadoop 目录中创建 app 目录。 把文件解压到hadoop 的 app 目录中,是为了以后整个项目可以整体移植。比如 HBase 、 Hive 等软件,都是解压到 app 的目录中。


2、修改配置文件

进入 zookeeper 中 conf 目录,拷贝命名 zoo_sample.cfg 为 zoo.cfg 。我们一般不修改配置文件默认的示例文件,修改赋值其子文件。

[hadoop@cloud001 conf]$ cp zoo_sample.cfg zoo.cfg

[hadoop@cloud001 conf]$ vi zoo.cfg


编辑 zoo.cfg配置文件:

tickTime=2000

initLimit=10

syncLimit=5

dataDir=/usr/java/hadoop/app/zookeeper/zkdata //数据目录需提前创建

dataLogDir=/usr/java/hadoop/app/zookeeper/zkdatalog //日志目录需提前创建

clientPort=2181 //端口号

server.1=cloud001:2888:3888

server.2=cloud002:2888:3888

server.3=cloud003:2888:3888

server.4=cloud004:2888:3888

server.5=cloud005:2888:3888

3、创建 zkdata 和 zkdatalog 两个文件夹。


在 zookeeper 的目录中,创建上述两个文件夹。进入 zkdata 文件夹,创建文件 myid ,填入 1 。这里写入的 1 ,是在 zoo.cfg 文本中的 server.1 中的 1 。当我们把所有文件都配置完毕,我们把 cloud001 中 java 目录复制到其它机器中,我们在修改每台机器中对应的 myid 文本, cloud002 中的 myid 写入 2 。其余节点,安照上面配置,依此写入相应的数字。 Zkdatalog 文件夹,是为了指定 zookeeper 产生日志指定相应的路径。


4、添加环境变量

每个节点本机环境变量是在 /etc/profile 目录中添加的。

image.png


然后执行source命令使配置文件生效:

[hadoop@cloud001 conf]$ source /etc/profile


5、在每台集群上启动ZooKeeper Server,具体操作命令如下所示:

[hadoop@cloud001 zookeeper]$ bin/zkServer.sh start //启动ZooKeeper服务


zookeeper启动之后,输入“jps”命令查看进程如下:

1649 QuorumPeerMain

11152 Jps


6、通过 status 参数查看每个节点的状态:

[hadoop@cloud001 zookeeper]$ bin/zkServer.sh status


大部分节点的状态为:follower

JMX enabled by default

Using config: /usr/java/hadoop/app/zookeeper/bin/../conf/zoo.cfg

Mode: follower

有唯一一个节点的状态为:leader

JMX enabled by default

Using config: /usr/java/hadoop/app/zookeeper/bin/../conf/zoo.cfg

Mode: leader


至此ZooKeeper的配置完成。


【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。