Zookeeper分布式集群部署

部 署完成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命令将修改复制到各个节点 Zookeeper分布式集群部署_第1张图片 Zookeeper分布式集群部署_第2张图片 四、建立zookeeper配置文件(可以先在一个节点上配置,后期直接复制到其他节点即可) 进入到zookeeper的conf/中,将zoo_sample.cfg拷贝成zoo.cfg:
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
dataDir=/home/hadoop/platform/zookeeper-data
# the port at which the clients will connect
clientPort=2181
#下面是参与的4个节点
server.1=master:2888:3888
server.2=node1:2888:3888
server.3=node2:2888:3888
端口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命令: Zookeeper分布式集群部署_第3张图片 这里需要注意第一个节点启动zookeeper时由于集群的其他节点未启动zookeeper,因此使用zkServer.sh status命令查看当前状态时会提示错误,如上图白色区域;但是随着后续节点的zookeeper的陆续启动,使用status查看状态时会显示当前节 点的状态,本次master作为了leader。 配置好重新运行tpkickoff.sh,终于没有像之前报zookeeper的错误了: Zookeeper分布式集群部署_第4张图片

你可能感兴趣的:(hadoop,zookeeper,云计算)