這以前的準備和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有重複值