2017-09-01 09:17:44 +00:00
FROM alpine:3.6
MAINTAINER Newnius <newnius.cn@gmail.com>
USER root
# Prerequisites
RUN apk add --no-cache openssh openssl openjdk8-jre rsync bash procps
ENV JAVA_HOME /usr/lib/jvm/java-1.8-openjdk
ENV PATH $PATH :$JAVA_HOME /bin
# Passwordless SSH
RUN ssh-keygen -q -N "" -t dsa -f /etc/ssh/ssh_host_dsa_key
RUN ssh-keygen -q -N "" -t rsa -f /etc/ssh/ssh_host_rsa_key
RUN ssh-keygen -q -N "" -t rsa -f /root/.ssh/id_rsa
RUN cp /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys
ADD ssh_config /root/.ssh/config
RUN chmod 600 /root/.ssh/config
RUN chown root:root /root/.ssh/config
RUN echo "Port 2122" >> /etc/ssh/sshd_config
# Install Hadoop
RUN wget -O hadoop.tar.gz https://archive.apache.org/dist/hadoop/common/hadoop-2.8.1/hadoop-2.8.1.tar.gz && \
tar -xzf hadoop.tar.gz -C /usr/local/ && rm hadoop.tar.gz
2017-09-01 09:24:37 +00:00
RUN ln -s /usr/local/hadoop-2.7.4 /usr/local/hadoop
2017-09-01 09:17:44 +00:00
ENV HADOOP_HOME /usr/local/hadoop
ENV PATH $PATH :$HADOOP_HOME /bin:$HADOOP_HOME /sbin
ENV HADOOP_PREFIX $HADOOP_HOME
ENV HADOOP_COMMON_HOME $HADOOP_HOME
ENV HADOOP_HDFS_HOME $HADOOP_HOME
ENV HADOOP_MAPRED_HOME $HADOOP_HOME
ENV HADOOP_YARN_HOME $HADOOP_HOME
ENV HADOOP_CONF_DIR $HADOOP_HOME /etc/hadoop
ENV YARN_CONF_DIR $HADOOP_PREFIX /etc/hadoop
# Default Conf Files
ADD core-site.xml $HADOOP_HOME /etc/hadoop/core-site.xml
ADD hdfs-site.xml $HADOOP_HOME /etc/hadoop/hdfs-site.xml
ADD mapred-site.xml $HADOOP_HOME /etc/hadoop/mapred-site.xml
ADD yarn-site.xml $HADOOP_HOME /etc/hadoop/yarn-site.xml
ADD slaves $HADOOP_HOME /etc/hadoop/slaves
2017-09-01 10:36:21 +00:00
2017-09-01 11:01:41 +00:00
RUN sed -i " s|export JAVA_HOME=.*|export JAVA_HOME= ${ JAVA_HOME } \nexport HADOOP_HOME= ${ HADOOP_HOME } \nexport HADOOP_PREFIX= ${ HADOOP_PREFIX } |g " $HADOOP_PREFIX /etc/hadoop/hadoop-env.sh
2017-09-01 10:36:21 +00:00
2017-09-01 11:01:41 +00:00
RUN sed -i " s|export HADOOP_CONF_DIR=.*|export HADOOP_CONF_DIR= ${ HADOOP_PREFIX } /etc/hadoop/ " $HADOOP_PREFIX /etc/hadoop/hadoop-env.sh
2017-09-01 09:17:44 +00:00
WORKDIR $HADOOP_HOME
ADD bootstrap.sh /etc/bootstrap.sh
CMD [ "/etc/bootstrap.sh" , "-d" ]