造个轮子 - Hadoop镜像
说明
- 镜像基于xiaows/debian8-jdk8-ssh:2.0
- hadoop版本2.8.3
安装hadoop
-
下载hadoop到本地, 解压
-
修改配置文件(图中选中部分)
-
编写dockerfile
#Dockerfile-hadoop283-jdk
FROM xiaows/debian8-jdk8-ssh:2.0
WORKDIR /root
#install hadoop
COPY hadoop/ /usr/local/hadoop
#copy hadoop-config
# COPY hadoop-conf/ $HADOOP_HOME/etc/hadoop/
ENV HADOOP_HOME=/usr/local/hadoop
ENV PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
RUN mkdir -p /data/hdfs/namenode;\
mkdir -p /data/hdfs/datanode;\
# mkdir -p $HADOOP_HOME/logs;\
# ln -s $HADOOP_HOME/etc/hadoop /root/hadoop-conf;\
rm -rfv $HADOOP_HOME/share/doc/;\
rm -rfv $HADOOP_HOME/bin/*.cmd;\
rm -rfv $HADOOP_HOME/sbin/*.cmd;\
mv $HADOOP_HOME/etc/hadoop/start-hadoop.sh /root/;\
mv $HADOOP_HOME/etc/hadoop/run-wordcount.sh /root/;\
chmod +x /root/*.sh
RUN hdfs namenode -format
COPY Dockerfile-hadoop283-jdk /root/
构建镜像
docker build -f Dockerfile-hadoop283-jdk -t xiaows/hadoop283-jdk:2.0 .
接下来就可以用之前那个启动集群镜像脚本来启动容器和集群啦~
./start-cluster.sh xiaows/hadoop283-jdk:2.0 hadoop
start-all.sh