zookeeper安装和部署 以及常见问题分析

近日在搭建高可用的分布式hadoop平台,在高可用方面,需要用zookeeper作为分布式协调工具。在搭建zookeeper的过程中虽然简单,但是也是遇见了很多坑这里记录一下。

       1.zookeeper下载

    直接从官网上下载最新的安装包,然后解压即可,这里写一下官网下载地址http://apache.fayea.com/zookeeper/zookeeper-3.3.6/zookeeper-3.3.6.tar.gz

        2.zookeeper安装

        用户自己安装的程序一般都安装在/usr/local下面,因此,此处也将zookeeper安装到该路径下面,首先创建文件夹以及修改文件夹属主。

sudo mkdir /usr/local/zookeeper
sudo chown 用户名.用户组 /usr/local/zookeeper
此时该文件夹就属于当前用户使用了。然后将新下载的安装包解压到该目录下面。
tar xzvf zookeeper-3.3.6.tar.gz
此时就已经将zookeeper安装到了本地。下面是修改配置文件。

3.zookeeper配置

目录切换到conf文件夹下,然后将zoo_sample.cfg复制一份出来,命名为zoo.cfg

mv zookeeper-3.3.6 zookeeper
cd zookeeper/conf
cp zoo_sample.cfg zoo.cfg
打开zoo.cfg,默认如下所示,后面我自己添加了详解。
# The number of milliseconds of each tick
tickTime=2000  //心跳时间单位
# The number of ticks that the initial 
# synchronization phase can take
initLimit=10 //初始化时与leader连接的follower失联后忍受的最大失联时间数,是10个心跳单位,如果超过了还没连上,则认为有follower失联了。
# The number of ticks that can pass between 
# sending a request and getting an acknowledgement
syncLimit=5//follower和leader之间收发消息的最长时间间隔,超过该时间,则认为消息丢失。
# the directory where the snapshot is stored.
dataDir=/tmp/zookeeper//数据路径 此处要进行修改,因为该路径下要配置myid文件,用户可以修改成自己想要的文件路径,比如/usr/local/zookeeper/dataDir/,然后在该文件夹下添加文件myid,并写上数字编号。
# the port at which the clients will connect
clientPort=2181//客户端的默认端口号。
后面再追加如下几句
server.1=hadoop01-namenode:2888:3888
server.2=hadoop02-datanode:2888:3888
server.3=hadoop03-datanode:2888:3888
然后分别在其他机器上都复用这一份配置文件。同时修改dataDir中的myid文件。文件里的内容对应server.1 server.2 server.3后面的数字。

比如在hadoop01-namenode这个机器上 /usr/local/zookeeper/dataDir/myid 文件中的内容是1

比如在hadoop02-datanode这个机器上 /usr/local/zookeeper/dataDir/myid 文件中的内容是2

比如在hadoop03-datanode这个机器上 /usr/local/zookeeper/dataDir/myid 文件中的内容是3

配置好这些 然后再在环境变量中添加 sudo  vim /etc/profile

export ZOOKEEPER_HOME=/usr/local/hadoop/app/zookeeper
export PATH=$ZOOKEEPER_HOME/bin:$PATH
然后 source /etc/profile

此时就可以直接使用zookeeper目录下的bin文件的启动命令了。

4.zookeeper启动。

分别在三个节点上执行下面命令。

zkServer.sh start
zkServer.sh status
如果执行成功,会出现
JMX enabled by default
Using config: /usr/local/hadoop/app/zookeeper/bin/../conf/zoo.cfg
Mode: leader
或者是leader在其他节点上变为follower都是正确的。说明此时zookeeper已经完全正确使用。

5.安装过程中常见问题分析。

如果出现了如下信息。

JMX enabled by default
Using config: /usr/local/hadoop/app/zookeeper/bin/../conf/zoo.cfg
Error contacting service. It is probably not running.
说明zookeeper肯定没有安装成功。日志文件都在zookeeper目录下的zookeeper.out里面会有显示。可以进去查看。

a.myid文件配置路径错误,myid所在地方一定是在conf/zoo.cfg里面配置的dataDir路径下,不能放错地方

b.防火墙没有关闭,如果在zookeeper.out中出现大量拒绝连接等,没有到目标机器的路由等字段,说明是防火墙的问题,在ubuntu上和centos上关闭防火墙的方式不同,比如centos可以查看防火墙状态,

sudo service iptables status
如果结果不是off等,说明防火墙没关,一定要关掉防火墙后,再重启zookeeper。


针对高可用的hadoop安装过程,可以参考我写的下面这篇文章。

http://blog.csdn.net/u013676711/article/details/53176485


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值