打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
zookeeper三种模式安装详解(centos 7+zookeeper

zookeeper有单机、伪集群、集群三种部署方式,可根据自己实际情况选择合适的部署方式。下边对这三种部署方式逐一进行讲解。

一 单机模式

1.下载

进入要下载的版本的目录,选择.tar.gz文件下载
下载链接:http://archive.apache.org/dist/zookeeper/
注意:点击进入之后,会显示zookeeper文件的下载目录,如图所示,显示了多个版本可以下载。alpha版本是内测,功能不是很完全的,能够满足一定的需要,这里我们不建议选择;beta是公测版本,基本上可以满足要求,可以适当的根据需要选择;如果是对稳定性要求非常高的话,最好是选择正式发布的版本。

2.上传安装包到usr/local目录下,并解压缩,重命名,配置环境变量

[root@hadoop ~]# cd /usr/local/[root@hadoop local]# tar xzvf zookeeper-3.4.9.tar.gz #解压缩[root@hadoop local]# mv zookeeper-3.4.9 zookeeper #重命名[root@hadoop local]# vi /etc/profile #添加环境变量添加变量:export ZOO_HOME=/usr/local/zookeeper然后在PATH变量后面添加::$ZOO_HOME/bin[root@hadoop local]# source /etc/profile #生成环境变量

3.配置zookeeper。将配置模板生成为配置文件,生成dataDir目录,修改参数

[root@hadoop local]# cd /usr/local/zookeeper/conf[root@hadoop conf]# lsconfiguration.xsl  log4j.properties  zoo_sample.cfg[root@hadoop conf]# cp zoo_sample.cfg zoo.cfg #生成配置文件[root@hadoop conf]# mkdir -p /usr/local/zookeeper/data #生成dataDir目录[root@hadoop conf]# vi zoo.cfg  #添加如下参数dataDir=/usr/local/zookeeper/data #已有,修改即可dataLogDir=/usr/local/zookeeper/data/log server.1=hadoop:2888:3888

附zoo.cfg文件

View Code

4.在dataDir目录下生成myid文件
myid文件告诉zookeeper我是该集群中的第几号机器,然后在myid文件中从1开始填入对应的数字

[root@hadoop conf]# echo 1 > /usr/local/zookeeper/data/myid #单机模式只有一台机器,故它是集群中的1号机器

5.开启zookeeper集群节点

[root@hadoop conf]# zkServer.sh startZooKeeper JMX enabled by defaultUsing config: /usr/local/zookeeper/bin/../conf/zoo.cfgStarting zookeeper ... STARTED

6.检查集群状态或者节点角色

[root@hadoop conf]# jps #出现QuorumPeerMain代表zookeeper正常运转116422 Jps116254 QuorumPeerMain[root@hadoop conf]# zkServer.sh status #单机模式,只有一种角色standaloneZooKeeper JMX enabled by defaultUsing config: /usr/local/zookeeper/bin/../conf/zoo.cfgMode: standalone

7.关闭zookeeper集群节点

[root@hadoop conf]# zkServer.sh stopZooKeeper JMX enabled by defaultUsing config: /usr/local/zookeeper/bin/../conf/zoo.cfgStopping zookeeper ... STOPPED[root@hadoop conf]# jps116564 Jps[root@hadoop conf]# zkServer.sh statusZooKeeper JMX enabled by defaultUsing config: /usr/local/zookeeper/bin/../conf/zoo.cfgError contacting service. It is probably not running.

 

二 伪集群模式

伪集群模式就是在同一主机启动多个zookeeper并组成集群,下边以在hadoop主机上创建3个zookeeper组集群为例。

1.将通过单机模式安装的zookeeper,复制成zoo1/zoo2/zoo3三份

[root@hadoop ~]# mkdir /zoo[root@hadoop ~]# cp -r /usr/local/zookeeper /zoo/zoo1[root@hadoop ~]# cp -r /usr/local/zookeeper /zoo/zoo2[root@hadoop ~]# cp -r /usr/local/zookeeper /zoo/zoo3[root@hadoop ~]# cd /zoo/[root@hadoop zoo]# lszoo1  zoo2  zoo3

2.分别修改3个节点的配置文件

[root@hadoop zoo]# vi /zoo/zoo1/conf/zoo.cfg #节点1dataDir=/zoo/zoo1/data dataLogDir=/zoo/zoo1/data/logclientPort=2181 #由于我们用的同一个主机hadoop,为了防止端口冲突,设置端口号均不同#如果是3个节点分别在3台机器上,端号可以一样#此处主机名hadoop也可以写成主机IP地址server.1=hadoop:2888:3888server.2=hadoop:4888:5888server.3=hadoop:6888:7888[root@hadoop zoo]# vi /zoo/zoo2/conf/zoo.cfg #节点2dataDir=/zoo/zoo2/data dataLogDir=/zoo/zoo2/data/logclientPort=2281 server.1=hadoop:2888:3888server.2=hadoop:4888:5888server.3=hadoop:6888:7888[root@hadoop zoo]# vi /zoo/zoo3/conf/zoo.cfg #节点3dataDir=/zoo/zoo3/data dataLogDir=/zoo/zoo3/data/logclientPort=2381 server.1=hadoop:2888:3888server.2=hadoop:4888:5888server.3=hadoop:6888:7888

3.分别修改3个节点的myid文件

[root@hadoop zoo]# echo 1 > /zoo/zoo1/data/myid[root@hadoop zoo]# echo 2 > /zoo/zoo2/data/myid[root@hadoop zoo]# echo 3 > /zoo/zoo3/data/myid

4.依次启动3个zookeeper集群节点
由于没加环境变量,启动方式为$ZOO_HOME/bin/zkServer.sh start

View Code

5.如何同时关闭zookeeper所有节点?

[root@hadoop data]# kill -9 `ps -ef|grep zookeeper|awk '{print $2}'` #杀死进程 
#注意:单引号外面的一层是反引号(Tab上面的那个键),用于命令嵌套-bash: kill: (119807) - No such process[root@hadoop data]# ps -ef|grep zookeeper #查看进程root 119821 111007 0 05:29 pts/1 00:00:00 grep --color=auto zookeeper

 

三 集群模式

集群模式就是在不同主机上安装zookeeper然后组成集群的模式。安装方式与伪集群模式类似。下边以在hadoop/hadoop2/hadoop3三台主机上安装为例。

1.首先在hadoop主机上以单机模式安装zookeeper,然后将其打包复制到另外两台主机hadoop2和hadoop3上,并都解压到同样的目录下。

2.分别修改3个节点的配置文件

[root@hadoop ~]# vi /usr/local/zookeeper/conf/zoo.cfg #节点1,2,3均修改如下#对于节点1,2,3,由于安装目录都一样,所以dataDir和dataLogDir不需要改变#节点1,2,3分别在不同机器上,所以clientPort也不需要改变dataDir=/usr/local/zookeeper/datadataLogDir=/usr/local/zookeeper/data/log clientPort=2281 #3个节点分别在3台机器上,端号可以一样server.1=hadoop:2888:3888server.2=hadoop2:2888:3888server.3=hadoop3:2888:3888

3.分别修改3个节点的myid文件。3个节点的myid文件分别写入1,2,3,方法参考伪集群模式

附myid数字生成法(我没用这个脚本执行,大家感兴趣可以尝试)

View Code

4.分别启动3个zookeeper集群节点,方法参考伪集群模式

附zookeeper状态脚本

[root@hadoop ~]# cd /usr/local/zookeeper/bin/[root@hadoop bin]# vi zoo_status.sh#!/bin/bashfor i in `cat /etc/hosts|awk '{print $2}' | grep -v localhost`dossh $i << EOFzkServer.sh statusEOFdone[root@hadoop bin]# chmod 777 zoo_status.sh [root@hadoop bin]# zoo_status.sh 

 

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
ZooKeeper学习第二期---ZooKeeper安装配置
ZooKeeper 搭建
技术分享:HBase伪分布式安装
安装ZooKeeper&hadoop的配置、启动、验证
ZooKeeper的学习与应用
ZooKeeper的部署以及简单使用
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服