github.com/rclone/rclone@v1.66.1-0.20240517100346-7b89735ae726/fstest/testserver/images/test-hdfs/Dockerfile (about) 1 # A very minimal hdfs server for integration testing rclone 2 FROM debian:stretch 3 4 RUN apt-get update \ 5 && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends openjdk-8-jdk \ 6 net-tools curl python krb5-user krb5-kdc krb5-admin-server \ 7 && rm -rf /var/lib/apt/lists/* 8 9 ENV JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/ 10 11 ENV HADOOP_VERSION 3.2.1 12 ENV HADOOP_URL https://www.apache.org/dist/hadoop/common/hadoop-$HADOOP_VERSION/hadoop-$HADOOP_VERSION.tar.gz 13 RUN set -x \ 14 && curl -fSL "$HADOOP_URL" -o /tmp/hadoop.tar.gz \ 15 && tar -xvf /tmp/hadoop.tar.gz -C /opt/ \ 16 && rm /tmp/hadoop.tar.gz* 17 18 RUN ln -s /opt/hadoop-$HADOOP_VERSION/etc/hadoop /etc/hadoop 19 RUN mkdir /opt/hadoop-$HADOOP_VERSION/logs 20 21 RUN mkdir /hadoop-data 22 RUN mkdir -p /hadoop/dfs/name 23 RUN mkdir -p /hadoop/dfs/data 24 25 ENV HADOOP_HOME=/opt/hadoop-$HADOOP_VERSION 26 ENV HADOOP_CONF_DIR=/etc/hadoop 27 ENV MULTIHOMED_NETWORK=1 28 29 ENV USER=root 30 ENV PATH $HADOOP_HOME/bin/:$PATH 31 32 ADD core-site.xml /etc/hadoop/core-site.xml 33 ADD hdfs-site.xml /etc/hadoop/hdfs-site.xml 34 ADD httpfs-site.xml /etc/hadoop/httpfs-site.xml 35 ADD kms-site.xml /etc/hadoop/kms-site.xml 36 ADD mapred-site.xml /etc/hadoop/mapred-site.xml 37 ADD yarn-site.xml /etc/hadoop/yarn-site.xml 38 39 ADD krb5.conf /etc/ 40 ADD kdc.conf /etc/krb5kdc/ 41 RUN echo '*/admin@KERBEROS.RCLONE *' > /etc/krb5kdc/kadm5.acl 42 43 ADD run.sh /run.sh 44 RUN chmod a+x /run.sh 45 CMD ["/run.sh"]