44 lines
1.5 KiB
Docker
44 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
|
|
|
|
COPY docker-entrypoint.sh /docker-entrypoint.sh
|
|
RUN chmod +x /docker-entrypoint.sh
|
|
|
|
EXPOSE 9870 8088
|
|
|
|
CMD ["/docker-entrypoint.sh"] |