Dockerfile 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. FROM maven:3.8.6-openjdk-8 as builder
  2. WORKDIR /workspace
  3. RUN sed -i "s@http://\(deb\|security\).debian.org@https://mirrors.aliyun.com@g" /etc/apt/sources.list
  4. RUN apt update && apt install -y python3 python3-pip python-is-python3 \
  5. && pip config set global.index-url https://mirror.nju.edu.cn/pypi/web/simple
  6. ADD . .
  7. RUN mkdir -p ~/.m2 && cp -r docker/settings.xml ~/.m2
  8. # RUN wget http://mirror.nju.edu.cn/apache/spark/spark-3.1.3/spark-3.1.3-bin-hadoop3.2.tgz
  9. ADD spark-3.0.3-bin-hadoop3.2.tgz .
  10. RUN mvn clean package \
  11. -B -V -e \
  12. -Pspark-3.0 \
  13. -Pthriftserver \
  14. -DskipTests \
  15. -DskipITs \
  16. -Dmaven.javadoc.skip=true
  17. FROM openjdk:8-jre-slim
  18. RUN sed -i "s@http://\(deb\|security\).debian.org@https://mirrors.aliyun.com@g" /etc/apt/sources.list
  19. # COPY docker/sources.list /etc/apt
  20. RUN apt update && apt install -y --no-install-recommends \
  21. krb5-user zip unzip procps tar curl supervisor
  22. WORKDIR /opt/cluster
  23. COPY docker/cluster .
  24. ENV HADOOP_HOME=/opt/cluster/hadoop
  25. ENV HADOOP_CONF_DIR=/opt/cluster/conf
  26. ENV HIVE_HOME=/opt/cluster/hive
  27. ENV HIVE_CONF_DIR=/opt/cluster/conf
  28. ENV SPARK_HOME=/opt/cluster/spark
  29. ENV SPARK_CONF_DIR=/opt/cluster/conf
  30. ENV LIVY_HOME=/opt/cluster/livy
  31. ENV LIVY_CONF_DIR=/opt/cluster/conf
  32. RUN rm -rf /opt/cluster/livy/*
  33. # COPY docker/livy /opt/cluster/livy/
  34. RUN mkdir -p hadoop spark livy/logs
  35. RUN curl -o ./hadoop/hadoop.tgz -O http://mirror.nju.edu.cn/apache/hadoop/common/hadoop-3.2.3/hadoop-3.2.3.tar.gz
  36. #&& \
  37. # curl -o ./spark/spark.tgz -O http://mirror.nju.edu.cn/apache/spark/spark-3.1.3/spark-3.1.3-bin-hadoop3.2.tgz
  38. COPY --from=builder /workspace/spark-3.0.3-bin-hadoop3.2.tgz spark
  39. # RUN mv spark-3.0.3-bin-hadoop3.2.tgz
  40. RUN cd spark && tar zxfv spark-3.0.3-bin-hadoop3.2.tgz && mv spark*/* . && rm -rf spark-3.0.3-bin-hadoop3.2.tgz
  41. RUN cd hadoop && tar zxfv hadoop.tgz && mv hadoop*/* . && rm -rf hadoop.tgz
  42. ADD docker/krb5.conf /etc
  43. COPY --from=builder /workspace/assembly/target/apache-livy*.zip livy
  44. # ADD assembly/target/apache-livy*.zip /opt/cluster/livy/
  45. RUN cd /opt/cluster/livy/ && unzip apache-livy*.zip && mv apache-livy*bin/* .
  46. # CMD ["livy/bin/livy-server"]
  47. RUN echo "\
  48. [program:livy]\n\
  49. directory=/opt/cluster\n\
  50. command=livy/bin/livy-server \n\
  51. autorestart=true\n\
  52. startretries=0\n\
  53. redirect_stderr=true\n\
  54. stdout_logfile=/var/log/livy.log\n\
  55. stdout_logfile_maxbytes=50MB\n\
  56. " > /etc/supervisor/conf.d/livy.conf
  57. CMD ["supervisord", "-n"]