FROM openjdk:8u282-jdk

SHELL ["/bin/bash", "-o", "pipefail", "-c"]

ENV CDH_HOME /opt/cdh

ENV CDH_PACKGE CDH-5.16.1-1.cdh5.16.1.p0.3-el7.parcel

ENV HADOOP_HOME=${CDH_HOME}/lib/hadoop
ENV HADOOP_COMMON_HOME=${CDH_HOME}/lib/hadoop
ENV HADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoop
ENV HADOOP_MAPRED_HOME=${CDH_HOME}/lib/hadoop-mapreduce
ENV HIVE_HOME=${CDH_HOME}/lib/hive
ENV SQOOP_HOME=${CDH_HOME}/lib/sqoop
ENV YARN_CONF_DIR=${HADOOP_HOME}/etc/hadoop
ENV YARN_HOME=$CDH_HOME/hadoop-yarn
ENV HADOOP_HDFS_HOME=$CDH_HOME/lib/hadoop-hdfs
ENV HADOOP_MAPRED_HOME=$CDH_HOME/lib/hadoop-mapreduce
ENV HADOOP_COMMON_HOME=$HADOOP_HOME
ENV HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
ENV PATH=$CDH_HOME/bin:$HADOOP_HOME/bin:$HIVE_HOME/bin:$SQOOP_HOME/bin:$PATH

# 无交互安装 krb5 
RUN { \
    echo "deb http://mirrors.tuna.tsinghua.edu.cn/debian/ buster main contrib non-free"; \
    echo "deb http://mirrors.tuna.tsinghua.edu.cn/debian/ buster-updates main contrib non-free"; \
    echo "deb http://mirrors.tuna.tsinghua.edu.cn/debian/ buster-backports main contrib non-free"; \
    echo "deb http://mirrors.tuna.tsinghua.edu.cn/debian-security buster/updates main contrib non-free"; \
} > /etc/apt/sources.list

RUN set -ex && \
    apt-get update && \
    ln -s /lib /lib64 && \
    apt-get install -y --no-install-recommends bash tini libc6 libpam-modules libnss3 \
        cron krb5-user  libpam-krb5 coreutils  dos2unix net-tools openrc iputils-ping ttf-dejavu fontconfig telnet && \
    apt-get install -y --no-install-recommends python3 python3-pip && \
    echo "auth required pam_wheel.so use_uid" >> /etc/pam.d/su && \
    chgrp root /etc/passwd && chmod ug+rw /etc/passwd && \
    rm -rf /var/cache/apt/*  && \
    rm -f /etc/krb5.conf 

COPY cdh-base-clear.sh /tmp/clear.sh    

RUN mkdir -p "${CDH_HOME}" && \
    wget -N "http://domain/installers/cdh/${CDH_PACKGE}" -qO- | \
    tar zxf - --strip-components 1 -C "${CDH_HOME}" && \
    mkdir -p  /opt/cloudera/parcels/CDH && \
    ln -s  /opt/cdh/* /opt/cloudera/parcels/CDH/ && \
    bash /tmp/clear.sh && \
    ln -s /opt/cdh/jars/json-20090211.jar  /opt/cdh/lib/sqoop/lib/json-20090211.jar && \
    rm -rf /tmp/clear.sh