formations/cesi/intro_big_data/ressources/hadoop-compose/containers/hadoop/Dockerfile

41 lines
1.5 KiB
Docker

FROM ubuntu:bionic
ARG DEBIAN_FRONTEND=noninteractive
ARG HADOOP_VERSION=3.1.1
RUN apt-get update -y &&\
apt-get install -y ssh rsync openjdk-8-jdk-headless supervisor
RUN wget -O- http://apache.mediamirrors.org/hadoop/common/hadoop-$HADOOP_VERSION/hadoop-$HADOOP_VERSION.tar.gz > hadoop-$HADOOP_VERSION.tar.gz &&\
tar -xzf hadoop-$HADOOP_VERSION.tar.gz &&\
rm -f hadoop-$HADOOP_VERSION.tar.gz &&\
mkdir -p /opt &&\
mv hadoop-$HADOOP_VERSION /opt/hadoop
WORKDIR /opt/hadoop
ENV JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
COPY ./conf/core-site.xml etc/hadoop/core-site.xml
COPY ./conf/hdfs-site.xml etc/hadoop/hdfs-site.xml
RUN mkdir -p /var/log/hadoop &&\
mkdir -p /run/sshd
RUN echo "export JAVA_HOME=$JAVA_HOME" >> etc/hadoop/hadoop-env.sh && \
echo "export HDFS_DATANODE_USER=root" >> etc/hadoop/hadoop-env.sh && \
echo "export HDFS_NAMENODE_USER=root" >> etc/hadoop/hadoop-env.sh && \
echo "export HDFS_SECONDARYNAMENODE_USER=root" >> etc/hadoop/hadoop-env.sh && \
echo "export YARN_RESOURCEMANAGER_USER=root" >> etc/hadoop/yarn-env.sh && \
echo "export YARN_NODEMANAGER_USER=root" >> etc/hadoop/yarn-env.sh && \
echo "PATH=$PATH:$HADOOP_HOME/bin" >> ~/.bashrc
RUN ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa &&\
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys &&\
chmod 0600 ~/.ssh/authorized_keys
COPY ./conf/supervisor.ini /etc/supervisor.d/hadoop.ini
EXPOSE 9870 8088
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor.d/hadoop.ini"]