FROM alpine:3.8 MAINTAINER Newnius 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 ENV HADOOP_VER 2.9.1 RUN wget -O hadoop.tar.gz https://archive.apache.org/dist/hadoop/common/hadoop-$HADOOP_VER/hadoop-$HADOOP_VER.tar.gz && \ tar -xzf hadoop.tar.gz -C /usr/local/ && rm hadoop.tar.gz RUN ln -s /usr/local/hadoop-$HADOOP_VER /usr/local/hadoop 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 config/* $HADOOP_HOME/etc/hadoop/ RUN sed -i "/^export JAVA_HOME/ s:.*:export JAVA_HOME=${JAVA_HOME}\nexport HADOOP_HOME=${HADOOP_HOME}\nexport HADOOP_PREFIX=${HADOOP_PREFIX}:" ${HADOOP_HOME}/etc/hadoop/hadoop-env.sh RUN sed -i '/^export HADOOP_CONF_DIR/ s:.*:export HADOOP_CONF_DIR=$HADOOP_PREFIX/etc/hadoop/:' $HADOOP_PREFIX/etc/hadoop/hadoop-env.sh WORKDIR $HADOOP_HOME ADD bootstrap.sh /etc/bootstrap.sh CMD ["/etc/bootstrap.sh"]