mirror of
https://github.com/apache/zeppelin
synced 2026-05-24 09:38:26 +00:00
create dockerfile for mesos
This commit is contained in:
parent
c9d2a2c6ce
commit
a3b0ded8ae
2 changed files with 107 additions and 0 deletions
60
scripts/docker/spark-cluster-managers/spark_mesos/Dockerfile
Normal file
60
scripts/docker/spark-cluster-managers/spark_mesos/Dockerfile
Normal file
|
|
@ -0,0 +1,60 @@
|
|||
# Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
# contributor license agreements. See the NOTICE file distributed with
|
||||
# this work for additional information regarding copyright ownership.
|
||||
# The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
# (the "License"); you may not use this file except in compliance with
|
||||
# the License. You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
FROM centos:centos6
|
||||
|
||||
ENV SPARK_PROFILE 1.6
|
||||
ENV SPARK_VERSION 1.6.2
|
||||
ENV HADOOP_PROFILE 2.3
|
||||
ENV HADOOP_VERSION 2.3.0
|
||||
|
||||
# Update the image with the latest packages
|
||||
RUN yum update -y; yum clean all
|
||||
|
||||
# Get utils
|
||||
RUN yum install -y \
|
||||
wget \
|
||||
tar \
|
||||
curl \
|
||||
&& \
|
||||
yum clean all
|
||||
|
||||
# Remove old jdk
|
||||
RUN yum remove java; yum remove jdk
|
||||
|
||||
# install jdk7
|
||||
RUN yum install -y java-1.7.0-openjdk-devel
|
||||
ENV JAVA_HOME /usr/lib/jvm/java
|
||||
ENV PATH $PATH:$JAVA_HOME/bin
|
||||
|
||||
# install spark
|
||||
RUN curl -s http://apache.mirror.cdnetworks.com/spark/spark-$SPARK_VERSION/spark-$SPARK_VERSION-bin-hadoop$HADOOP_PROFILE.tgz | tar -xz -C /usr/local/
|
||||
RUN cd /usr/local && ln -s spark-$SPARK_VERSION-bin-hadoop$HADOOP_PROFILE spark
|
||||
|
||||
# update boot script
|
||||
COPY entrypoint.sh /etc/entrypoint.sh
|
||||
RUN chown root.root /etc/entrypoint.sh
|
||||
RUN chmod 700 /etc/entrypoint.sh
|
||||
|
||||
# install mesos
|
||||
RUN rpm -Uvh http://repos.mesosphere.com/el/6/noarch/RPMS/mesosphere-el-repo-6-2.noarch.rpm
|
||||
RUN yum -y install mesos
|
||||
|
||||
#spark
|
||||
EXPOSE 8080 7077 7072 8081 8082
|
||||
|
||||
#mesos
|
||||
EXPOSE 5050 5051
|
||||
|
||||
ENTRYPOINT ["/etc/entrypoint.sh"]
|
||||
47
scripts/docker/spark-cluster-managers/spark_mesos/entrypoint.sh
Executable file
47
scripts/docker/spark-cluster-managers/spark_mesos/entrypoint.sh
Executable file
|
|
@ -0,0 +1,47 @@
|
|||
#!/bin/bash
|
||||
# Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
# contributor license agreements. See the NOTICE file distributed with
|
||||
# this work for additional information regarding copyright ownership.
|
||||
# The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
# (the "License"); you may not use this file except in compliance with
|
||||
# the License. You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
export SPARK_HOME=/usr/local/spark/
|
||||
export SPARK_MASTER_PORT=7077
|
||||
export SPARK_MASTER_WEBUI_PORT=8080
|
||||
export SPARK_WORKER_PORT=8888
|
||||
export SPARK_WORKER_WEBUI_PORT=8081
|
||||
|
||||
# spark configuration
|
||||
cp $SPARK_HOME/conf/spark-env.sh.template $SPARK_HOME/conf/spark-env.sh
|
||||
echo "export MESOS_NATIVE_JAVA_LIBRARY=/usr/lib/libmesos.so" >> $SPARK_HOME/conf/spark-env.sh
|
||||
|
||||
cp $SPARK_HOME/conf/spark-defaults.conf.template $SPARK_HOME/conf/spark-defaults.conf
|
||||
echo "spark.master mesos://`hostname`:5050" >> $SPARK_HOME/conf/spark-defaults.conf
|
||||
echo "spark.mesos.executor.home /usr/local/spark" >> $SPARK_HOME/conf/spark-defaults.conf
|
||||
|
||||
# run spark
|
||||
cd $SPARK_HOME/sbin
|
||||
./start-master.sh
|
||||
./start-slave.sh spark://`hostname`:$SPARK_MASTER_PORT
|
||||
|
||||
# start mesos
|
||||
mesos-master --ip=0.0.0.0 --work_dir=/var/lib/mesos &> /var/log/mesos_master.log &
|
||||
mesos-slave --master=0.0.0.0:5050 --work_dir=/var/lib/mesos --launcher=posix &> /var/log/mesos_slave.log &
|
||||
|
||||
CMD=${1:-"exit 0"}
|
||||
if [[ "$CMD" == "-d" ]];
|
||||
then
|
||||
service sshd stop
|
||||
/usr/sbin/sshd -D -d
|
||||
else
|
||||
/bin/bash -c "$*"
|
||||
fi
|
||||
Loading…
Reference in a new issue