Zookeeper分布式集群部署

  • A+
所属分类:分布式

部 署完成Hadoop/Hbase集群之后,开始测试Sleuthkit,结果发现tpkickoff.sh运行时不断提醒zookeeper的连接错 误:Session 0x0 for server。网上大部分的资料说问题出在DNS的解析上,需要去修改/etc/hosts文件,但是之前部署分布式的时候这个文件就已经设置好了,所以 问题应该不是在这里。于是考虑这个奇怪的问题会不会是因为启动Hbase自带zookeeper的问题呢?虽然对内部的原理并不太清楚,但是还是决定先安 装一个独立的zookeeper来试一试。先说下自己的平台:
——hadoop-1.1.2
——hbase-0.90.0
——zookeeper-3.4.5
——jdk-1.6
好了,现在开始zookeeper-3.4.5的安装吧!


一、官方网站下载zookeeper-3.4.5:http://www.apache.org/dyn/closer.cgi/zookeeper/
二、将下载得到的zookeeper-3.4.5.tar.gz放到指定的目录中,自己统一放在了/home/hadoop/platform/下,tar解压缩即可
三、设置环境变量:
为了方便运行zkServer.sh脚本,我们将zookeeper的bin路径加入到/etc/profile中,作为一个全局变量进行输出到PATH中,记得修改完成之后运行source /etc/profile使修改生效
ZOOKEEPER_HOME=/home/hadoop/platform/zookeeper-3.4.5
export ZOOKEEPER_HOME
export PATH=$PATH:$ZOOKEEPER_HOME/bin:$ZOOKEEPER_HOME/conf
然后利用scp命令将修改复制到各个节点
hadoop
hadoop
四、建立zookeeper配置文件(可以先在一个节点上配置,后期直接复制到其他节点即可)
进入到zookeeper的conf/中,将zoo_sample.cfg拷贝成zoo.cfg:

端口2181,设置dataDir为一个指定目录存放zookeeper的协调数据,最后添加集群中的节点。接下来需要根据server.X的号码在相应 的节点上的dataDir下建立myid文件,输入自身的“X”作为内容即可,比如master节点上的myid只输入1即可。
五、复制zookeeper-3.4.5到其他各节点
这里使用scp -r zookeeper-3.4.5/ hadoop@node1:实现,注意每个节点的dataDir下的myid文件要修改成自身的Server-X号码
六、运行zkServer.sh
在所有节点上分别运行zkServer.sh start命令:
hadoop
这里需要注意第一个节点启动zookeeper时由于集群的其他节点未启动zookeeper,因此使用zkServer.sh status命令查看当前状态时会提示错误,如上图白色区域;但是随着后续节点的zookeeper的陆续启动,使用status查看状态时会显示当前节 点的状态,本次master作为了leader。
配置好重新运行tpkickoff.sh,终于没有像之前报zookeeper的错误了:
hadoop

weinxin
微信公众号
扫一扫关注运维生存时间公众号,获取最新技术文章~

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: