这是带有centos7的spark的docker文件。我正在寻找执行命令,该命令在supervisor中用于执行主火花。在dockerfile的末尾,我添加了用于执行master spark的命令
FROM parana / centos7
COPY start.sh /usr/bin/start.sh
COPY supervisord.conf /etc/supervisord.conf
RUN chmod 755 /usr/bin/start.sh
# Set environment
ENV JAVA_HOME /opt/jdk1.8.0_181
ENV PATH ${JAVA_HOME}/bin:${PATH}:.
# Java Version 1.8.0_181-b14
ENV JAVA_VERSION_MAJOR 8
ENV JAVA_VERSION_MINOR 181
ENV JAVA_VERSION_BUILD 14
ENV JAVA_PACKAGE jdk
ENV ORACLE_SITE download.oracle.com/otn-pub/java/jdk
ENV JAVA_FILE ${JAVA_PACKAGE}-${JAVA_VERSION_MAJOR}u${JAVA_VERSION_MINOR}-linux-x64.tar.gz
ENV JAVA_OPTS="-Xms512m -Xmx1024m"
COPY install /tmp/
WORKDIR /tmp
RUN find . -type d | sort
RUN echo "Generating spark-2.0.0-bin-hadoop2.7.tar.gz file" && \
tar -xf spark-2.0.0-bin-hadoop2.7.tar && \
rm -rf spark-2.0.0-bin-hadoop2.7.tar && \
mv spark-2.0.0-bin-hadoop2.7 /usr/local/spark && \
chown root:root -R /usr/local/spark
RUN echo "scala file" && \
tar -xf scala-2.12.6.tar.gz && \
rm -rf scala-2.12.6.tar.gz && \
mv scala-2.12.6 /usr/local/scala && \
RUN cat ${JAVA_FILE} | tar -xvf jdk-8u181-linux-x64.tar.gz -C /opt && \
chown root:root -R /opt/jdk1.${JAVA_VERSION_MAJOR}.0_${JAVA_VERSION_MINOR} && \
ln -s /opt/jdk1.${JAVA_VERSION_MAJOR}.0_${JAVA_VERSION_MINOR} /opt/jdk && \
rm -rf /opt/jdk/*src.zip \
/opt/jdk/lib/missioncontrol \
/opt/jdk/lib/visualvm \
/opt/jdk/lib/*javafx* \
/opt/jdk/jre/lib/plugin.jar \
/opt/jdk/jre/lib/ext/jfxrt.jar \
/opt/jdk/jre/bin/javaws \
/opt/jdk/jre/lib/javaws.jar \
/opt/jdk/jre/lib/desktop \
/opt/jdk/jre/plugin \
/opt/jdk/jre/lib/deploy* \
/opt/jdk/jre/lib/*javafx* \
/opt/jdk/jre/lib/*jfx* \
/opt/jdk/jre/lib/amd64/libdecora_sse.so \
/opt/jdk/jre/lib/amd64/libprism_*.so \
/opt/jdk/jre/lib/amd64/libfxplugins.so \
/opt/jdk/jre/lib/amd64/libglass.so \
/opt/jdk/jre/lib/amd64/libgstreamer-lite.so \
/opt/jdk/jre/lib/amd64/libjavafx*.so \
/opt/jdk/jre/lib/amd64/libjfx*.so
RUN tar xzf apache-maven-3.5.4-bin.tar.gz && \
chown root:root -R apache-maven-3.5.4 && \
mv apache-maven-3.5.4 /usr/local/maven3 && \
rm -rf apache-maven-3.5.4-bin.tar.gz
ENV PATH /usr/local/maven3/bin:/usr/local/spark/bin:/usr/local/miniconda/bin:${PATH}
RUN bash /tmp/Miniconda2-latest-Linux-x86_64.sh -b -p /usr/local/miniconda && \
conda install -y scikit-learn && \
conda install -y cython
RUN ls -la /tmp/*
ENV MAVEN_HOME /usr/local/maven3
ENV PATH="${MAVEN_HOME}/bin:${PATH}"
ENV SPARK_HOME /usr/local/spark
ENV PATH="${SPARK_HOME}/bin:${PATH}"
ENV JAVA_HOME /opt/jdk
ENV PATH="${JAVA_HOME}/bin:${PATH}"
RUN mkdir -p /desenv/java && mvn -v
COPY test /desenv/java/
WORKDIR /desenv/java
VOLUME /usr/local/m2-repo
# VOLUME /root/.m2/repository
COPY m2-repo /root/.m2/repository
# test requires large memory configured on JVM
# RUN cd myspark && mvn clean compile test package install
RUN cd myspark && mvn clean compile package install -Dmaven.test.skip=true
# Spark
EXPOSE 8080
EXPOSE 7077
EXPOSE 6066
# Jupyter Notebook
#EXPOSE 8888
VOLUME /desenv/scala
#ENTRYPOINT [ "/usr/bin/tini", "--" ]
CMD [ "/bin/bash","/usr/bin/start.sh" ]
Supervisord命令(此命令无助于执行supervisord)
command = / usr / local / spark / bin / spark.shell --ip 192.168.1.16-端口7077 --webui-port 18080
docker已成功构建 但是当我使用run命令时,它将直接执行而无需运行超级用户。
vaibhav@b3ds-HP-Z210-Workstation:~/spark/spark-on-centos-master$ sudo docker run sparq [sudo] password for vaibhav:
••• Mon Sep 24 06:52:01 UTC 2018 - Estabelecendo a senha de root para o SSH
=> Usando a senha randômica para o usuário root
=> Senha de root definida !
========================================================================
Você pode conectar a este Contêiner CentOS 7 via SSH usando:
ssh -p <port> root@<host>
Quando solicitado, informe a senha de root : 'ZtomxeS16Ztg'
Lembre de mudar a senha assim que possivel
========================================================================
••• Mon Sep 24 06:52:02 UTC 2018 - Senha de root para o SSH já foi definida
••• Mon Sep 24 06:52:02 UTC 2018 - - - - - - Iniciando o SSH Server - - - - - - - - -
••• Mon Sep 24 06:52:02 UTC 2018 - - - - - - SSH Server Iniciado - - - - - - - - - -
••• Mon Sep 24 06:52:02 UTC 2018 - - - - No macOS e no Windows não roda o systemctl - - - -
••• Mon Sep 24 06:52:02 UTC 2018 - - - - - - ENTRYPOINT com parametro: /bin/bash - - - - - - - - - -