发布于 2015-11-14 15:18:08 | 2803 次阅读 | 评论: 1 | 来源: PHPERZ

这里有新鲜出炉的精品教程,程序狗速度看过来!

Apache ZooKeeper

ZooKeeper是Hadoop的正式子项目,它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护、名字服务、分布式同步、组服务等。ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。


这之前的准备和Docker搭建Hadoop集群是一样的,请关注上一篇笔记。
  1. 第一步根据上次wiki中的方法启动docker容器

docker run --rm -it -h zoo1 --name zoo1 ice/hadoop /bin/bash
docker run --rm -it -h zoo2 --name zoo2 ice/hadoop /bin/bash
docker run --rm -it -h zoo3 --name zoo3 ice/hadoop /bin/bash
  1. 确认/etc/profile生效的配置

/etc/profile最后添加配置,一定要对应自己的路径
export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk.x86_64/
export CLASSPATH=.:$JAVA_HOME/lib/dt:$JAVA_HOME/lib/tools.jar
export HADOOP_HOME=/root/hadoop-2.7.1
export ZOOKEEPER_HOME=/root/zookeeper-3.4.6/
export HBASE_HOME=/root/hbase-1.1.2/
export PATH=$JAVA_HOME/bin:$PATH:$HADOOP_HOME/bin:$ZOOKEEPER_HOME/bin:$ZOOKEEPER_HOME/conf:$HBASE_HOME/bin
zoo1:source /etc/profile
zoo2:source /etc/profile
zoo3:source /etc/profile
  1. 修改zookeeper配置文件conf/zoo.cfg

如果没有该文件:cp conf/zoo_sample.cfg conf/zoo.cfg
server.1=zoo1:2888:3888
server.2=zoo2:2888:3888
server.3=zoo3:2888:3888
  1. 确定每个Zookeeper的id

对应zoo序号执行
echo 1 > /tmp/zookeeper/myid
echo 2 > /tmp/zookeeper/myid
echo 3 > /tmp/zookeeper/myid
  1. 启动Zookeeper

每个容器都执行
zkServer.sh start
  1. 验证Zookeeper状态

每个容器都执行
zkServer.sh status
这里会有问题,提示有问题
JMX enabled by default
Using config: /root/zookeeper-3.4.6/bin/../conf/zoo.cfg
Error contacting service. It is probably not running.
不要怕,确认两点即可
第一:确认/etc/hosts中是否有各个节点域名解析
第二:是否/tmp/zookeeper/myid有重复值


最新网友评论  共有(1)条评论 发布评论 返回顶部
ice 发布于2016-12-07 07:43:33
跟我写的一样呀
支持(0)  反对(0)  回复

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务