这以前的准备和Docker搭建Hadoop集群是同样的,请关注上一篇笔记。
第一步根据上次wiki中的方法启动docker容器java
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
确认/etc/profile生效的配置docker
/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
修改zookeeper配置文件conf/zoo.cfgbash
若是没有该文件:cp conf/zoo_sample.cfg conf/zoo.cfg server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888
肯定每一个Zookeeper的idjvm
对应zoo序号执行 echo 1 > /tmp/zookeeper/myid echo 2 > /tmp/zookeeper/myid echo 3 > /tmp/zookeeper/myid
启动Zookeeperoop
每一个容器都执行 zkServer.sh start
验证Zookeeper状态code
每一个容器都执行 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有重复值