From 572c2199bcd94c14eb1b1f4ad6d7bf78189047b5 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sat, 31 Oct 2015 12:04:46 -0600 Subject: [PATCH 01/10] settings --- Dockerfile | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/Dockerfile b/Dockerfile index 8c72111..68f6d8e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,7 @@ FROM ubuntu:14.04 -MAINTAINER Pakhomov Egor +#original dockerfile cloned Pakhomov Egor +MAINTAINER Dmitry Meyerson RUN apt-get -y update RUN DEBIAN_FRONTEND=noninteractive apt-get install -y --force-yes software-properties-common python-software-properties @@ -10,21 +11,30 @@ RUN /bin/echo debconf shared/accepted-oracle-license-v1-1 select true | /usr/bin RUN DEBIAN_FRONTEND=noninteractive apt-get -y install oracle-java7-installer oracle-java7-set-default RUN apt-get -y install curl -RUN curl -s http://d3kbcqa49mib13.cloudfront.net/spark-1.3.0-bin-hadoop2.4.tgz | tar -xz -C /usr/local/ -RUN cd /usr/local && ln -s spark-1.3.0-bin-hadoop2.4 spark + +RUN curl -s http://d3kbcqa49mib13.cloudfront.net/spark-1.5.1-bin-hadoop2.6.tgz | tar -xz -C /usr/local/ +RUN cd /usr/local && ln -s spark-1.5.1-bin-hadoop2.6 spark ADD scripts/start-master.sh /start-master.sh ADD scripts/start-worker /start-worker.sh + ADD scripts/spark-shell.sh /spark-shell.sh ADD scripts/spark-defaults.conf /spark-defaults.conf ADD scripts/remove_alias.sh /remove_alias.sh ENV SPARK_HOME /usr/local/spark + +RUN cp $SPARK_HOME/conf/spark-env.sh.template $SPARK_HOME/conf/spark-env.sh +RUN /bin/echo "export SPARK_WORKER_INSTANCES=2" >> $SPARK_HOME/conf/spark-env.sh +RUN ln -s $SPARK_HOME/sbin/start-slaves.sh /start-slaves.sh +RUN ln -s $SPARK_HOME/sbin/start-slave.sh /start-slave.sh + + ENV SPARK_MASTER_OPTS="-Dspark.driver.port=7001 -Dspark.fileserver.port=7002 -Dspark.broadcast.port=7003 -Dspark.replClassServer.port=7004 -Dspark.blockManager.port=7005 -Dspark.executor.port=7006 -Dspark.ui.port=4040 -Dspark.broadcast.factory=org.apache.spark.broadcast.HttpBroadcastFactory" ENV SPARK_WORKER_OPTS="-Dspark.driver.port=7001 -Dspark.fileserver.port=7002 -Dspark.broadcast.port=7003 -Dspark.replClassServer.port=7004 -Dspark.blockManager.port=7005 -Dspark.executor.port=7006 -Dspark.ui.port=4040 -Dspark.broadcast.factory=org.apache.spark.broadcast.HttpBroadcastFactory" ENV SPARK_MASTER_PORT 7077 ENV SPARK_MASTER_WEBUI_PORT 8080 ENV SPARK_WORKER_PORT 8888 -ENV SPARK_WORKER_WEBUI_PORT 8081 +ENV SPARK_WORKER_WEBUI_PORT 9091 -EXPOSE 8080 7077 8888 8081 4040 7001 7002 7003 7004 7005 7006 +EXPOSE 8080 7077 8888 9091 4040 7001 7002 7003 7004 7005 7006 From 7127a8ab23319bd00d664df9910fb77466630e8f Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sat, 31 Oct 2015 14:06:31 -0600 Subject: [PATCH 02/10] make it work --- Dockerfile | 3 +++ scripts/spark-shell.sh | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 68f6d8e..0e63898 100644 --- a/Dockerfile +++ b/Dockerfile @@ -38,3 +38,6 @@ ENV SPARK_WORKER_PORT 8888 ENV SPARK_WORKER_WEBUI_PORT 9091 EXPOSE 8080 7077 8888 9091 4040 7001 7002 7003 7004 7005 7006 + +RUN ./start-master.sh +RUN $SPARK_HOME/sbin/start-slave.sh $SPARK_MASTER_IP:7077 \ No newline at end of file diff --git a/scripts/spark-shell.sh b/scripts/spark-shell.sh index 86486e3..84bf3f9 100755 --- a/scripts/spark-shell.sh +++ b/scripts/spark-shell.sh @@ -3,7 +3,7 @@ export SPARK_LOCAL_IP=`awk 'NR==1 {print $1}' /etc/hosts` /remove_alias.sh # problems with hostname alias, see https://issues.apache.org/jira/browse/SPARK-6680 cd /usr/local/spark ./bin/spark-shell \ - --master spark://${SPARK_MASTER_PORT_7077_TCP_ADDR}:${SPARK_MASTER_ENV_SPARK_MASTER_PORT} \ + --master spark://${SPARK_MASTER_IP}:${SPARK_MASTER_PORT} \ -i ${SPARK_LOCAL_IP} \ --properties-file /spark-defaults.conf \ "$@" From 15b000100c76290a24ed1921caadefe22ece2406 Mon Sep 17 00:00:00 2001 From: Dmitry Meyerson Date: Sat, 31 Oct 2015 15:07:52 -0500 Subject: [PATCH 03/10] dukat changes --- Dockerfile | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/Dockerfile b/Dockerfile index 8c72111..68f6d8e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,7 @@ FROM ubuntu:14.04 -MAINTAINER Pakhomov Egor +#original dockerfile cloned Pakhomov Egor +MAINTAINER Dmitry Meyerson RUN apt-get -y update RUN DEBIAN_FRONTEND=noninteractive apt-get install -y --force-yes software-properties-common python-software-properties @@ -10,21 +11,30 @@ RUN /bin/echo debconf shared/accepted-oracle-license-v1-1 select true | /usr/bin RUN DEBIAN_FRONTEND=noninteractive apt-get -y install oracle-java7-installer oracle-java7-set-default RUN apt-get -y install curl -RUN curl -s http://d3kbcqa49mib13.cloudfront.net/spark-1.3.0-bin-hadoop2.4.tgz | tar -xz -C /usr/local/ -RUN cd /usr/local && ln -s spark-1.3.0-bin-hadoop2.4 spark + +RUN curl -s http://d3kbcqa49mib13.cloudfront.net/spark-1.5.1-bin-hadoop2.6.tgz | tar -xz -C /usr/local/ +RUN cd /usr/local && ln -s spark-1.5.1-bin-hadoop2.6 spark ADD scripts/start-master.sh /start-master.sh ADD scripts/start-worker /start-worker.sh + ADD scripts/spark-shell.sh /spark-shell.sh ADD scripts/spark-defaults.conf /spark-defaults.conf ADD scripts/remove_alias.sh /remove_alias.sh ENV SPARK_HOME /usr/local/spark + +RUN cp $SPARK_HOME/conf/spark-env.sh.template $SPARK_HOME/conf/spark-env.sh +RUN /bin/echo "export SPARK_WORKER_INSTANCES=2" >> $SPARK_HOME/conf/spark-env.sh +RUN ln -s $SPARK_HOME/sbin/start-slaves.sh /start-slaves.sh +RUN ln -s $SPARK_HOME/sbin/start-slave.sh /start-slave.sh + + ENV SPARK_MASTER_OPTS="-Dspark.driver.port=7001 -Dspark.fileserver.port=7002 -Dspark.broadcast.port=7003 -Dspark.replClassServer.port=7004 -Dspark.blockManager.port=7005 -Dspark.executor.port=7006 -Dspark.ui.port=4040 -Dspark.broadcast.factory=org.apache.spark.broadcast.HttpBroadcastFactory" ENV SPARK_WORKER_OPTS="-Dspark.driver.port=7001 -Dspark.fileserver.port=7002 -Dspark.broadcast.port=7003 -Dspark.replClassServer.port=7004 -Dspark.blockManager.port=7005 -Dspark.executor.port=7006 -Dspark.ui.port=4040 -Dspark.broadcast.factory=org.apache.spark.broadcast.HttpBroadcastFactory" ENV SPARK_MASTER_PORT 7077 ENV SPARK_MASTER_WEBUI_PORT 8080 ENV SPARK_WORKER_PORT 8888 -ENV SPARK_WORKER_WEBUI_PORT 8081 +ENV SPARK_WORKER_WEBUI_PORT 9091 -EXPOSE 8080 7077 8888 8081 4040 7001 7002 7003 7004 7005 7006 +EXPOSE 8080 7077 8888 9091 4040 7001 7002 7003 7004 7005 7006 From 8b06c2fcd17515b656d740ae940b7bbf457c87ad Mon Sep 17 00:00:00 2001 From: Dmitry Meyerson Date: Sat, 31 Oct 2015 15:23:05 -0500 Subject: [PATCH 04/10] dukat changes --- Dockerfile | 3 --- scripts/spark-shell.sh | 2 +- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/Dockerfile b/Dockerfile index 0e63898..68f6d8e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -38,6 +38,3 @@ ENV SPARK_WORKER_PORT 8888 ENV SPARK_WORKER_WEBUI_PORT 9091 EXPOSE 8080 7077 8888 9091 4040 7001 7002 7003 7004 7005 7006 - -RUN ./start-master.sh -RUN $SPARK_HOME/sbin/start-slave.sh $SPARK_MASTER_IP:7077 \ No newline at end of file diff --git a/scripts/spark-shell.sh b/scripts/spark-shell.sh index 84bf3f9..86486e3 100755 --- a/scripts/spark-shell.sh +++ b/scripts/spark-shell.sh @@ -3,7 +3,7 @@ export SPARK_LOCAL_IP=`awk 'NR==1 {print $1}' /etc/hosts` /remove_alias.sh # problems with hostname alias, see https://issues.apache.org/jira/browse/SPARK-6680 cd /usr/local/spark ./bin/spark-shell \ - --master spark://${SPARK_MASTER_IP}:${SPARK_MASTER_PORT} \ + --master spark://${SPARK_MASTER_PORT_7077_TCP_ADDR}:${SPARK_MASTER_ENV_SPARK_MASTER_PORT} \ -i ${SPARK_LOCAL_IP} \ --properties-file /spark-defaults.conf \ "$@" From dc9e0c33526b835395c7a21e92cd27602b990c2f Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sat, 31 Oct 2015 14:24:25 -0600 Subject: [PATCH 05/10] make it work --- Dockerfile | 3 +++ scripts/spark-shell.sh | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 68f6d8e..0e63898 100644 --- a/Dockerfile +++ b/Dockerfile @@ -38,3 +38,6 @@ ENV SPARK_WORKER_PORT 8888 ENV SPARK_WORKER_WEBUI_PORT 9091 EXPOSE 8080 7077 8888 9091 4040 7001 7002 7003 7004 7005 7006 + +RUN ./start-master.sh +RUN $SPARK_HOME/sbin/start-slave.sh $SPARK_MASTER_IP:7077 \ No newline at end of file diff --git a/scripts/spark-shell.sh b/scripts/spark-shell.sh index 86486e3..84bf3f9 100755 --- a/scripts/spark-shell.sh +++ b/scripts/spark-shell.sh @@ -3,7 +3,7 @@ export SPARK_LOCAL_IP=`awk 'NR==1 {print $1}' /etc/hosts` /remove_alias.sh # problems with hostname alias, see https://issues.apache.org/jira/browse/SPARK-6680 cd /usr/local/spark ./bin/spark-shell \ - --master spark://${SPARK_MASTER_PORT_7077_TCP_ADDR}:${SPARK_MASTER_ENV_SPARK_MASTER_PORT} \ + --master spark://${SPARK_MASTER_IP}:${SPARK_MASTER_PORT} \ -i ${SPARK_LOCAL_IP} \ --properties-file /spark-defaults.conf \ "$@" From 6d9816584d0db9603d2e4fd04baa08c60d31ed7f Mon Sep 17 00:00:00 2001 From: Dmitry Meyerson Date: Sat, 31 Oct 2015 15:25:58 -0500 Subject: [PATCH 06/10] dukat sucks --- Dockerfile | 3 --- scripts/spark-shell.sh | 2 +- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/Dockerfile b/Dockerfile index 0e63898..68f6d8e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -38,6 +38,3 @@ ENV SPARK_WORKER_PORT 8888 ENV SPARK_WORKER_WEBUI_PORT 9091 EXPOSE 8080 7077 8888 9091 4040 7001 7002 7003 7004 7005 7006 - -RUN ./start-master.sh -RUN $SPARK_HOME/sbin/start-slave.sh $SPARK_MASTER_IP:7077 \ No newline at end of file diff --git a/scripts/spark-shell.sh b/scripts/spark-shell.sh index 84bf3f9..86486e3 100755 --- a/scripts/spark-shell.sh +++ b/scripts/spark-shell.sh @@ -3,7 +3,7 @@ export SPARK_LOCAL_IP=`awk 'NR==1 {print $1}' /etc/hosts` /remove_alias.sh # problems with hostname alias, see https://issues.apache.org/jira/browse/SPARK-6680 cd /usr/local/spark ./bin/spark-shell \ - --master spark://${SPARK_MASTER_IP}:${SPARK_MASTER_PORT} \ + --master spark://${SPARK_MASTER_PORT_7077_TCP_ADDR}:${SPARK_MASTER_ENV_SPARK_MASTER_PORT} \ -i ${SPARK_LOCAL_IP} \ --properties-file /spark-defaults.conf \ "$@" From f6127ebf3a126929e33cf760f451f3aa6d5a81c5 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sat, 31 Oct 2015 15:23:06 -0600 Subject: [PATCH 07/10] push to bare only --- Dockerfile | 3 +++ scripts/spark-shell.sh | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 68f6d8e..0e63898 100644 --- a/Dockerfile +++ b/Dockerfile @@ -38,3 +38,6 @@ ENV SPARK_WORKER_PORT 8888 ENV SPARK_WORKER_WEBUI_PORT 9091 EXPOSE 8080 7077 8888 9091 4040 7001 7002 7003 7004 7005 7006 + +RUN ./start-master.sh +RUN $SPARK_HOME/sbin/start-slave.sh $SPARK_MASTER_IP:7077 \ No newline at end of file diff --git a/scripts/spark-shell.sh b/scripts/spark-shell.sh index 86486e3..84bf3f9 100755 --- a/scripts/spark-shell.sh +++ b/scripts/spark-shell.sh @@ -3,7 +3,7 @@ export SPARK_LOCAL_IP=`awk 'NR==1 {print $1}' /etc/hosts` /remove_alias.sh # problems with hostname alias, see https://issues.apache.org/jira/browse/SPARK-6680 cd /usr/local/spark ./bin/spark-shell \ - --master spark://${SPARK_MASTER_PORT_7077_TCP_ADDR}:${SPARK_MASTER_ENV_SPARK_MASTER_PORT} \ + --master spark://${SPARK_MASTER_IP}:${SPARK_MASTER_PORT} \ -i ${SPARK_LOCAL_IP} \ --properties-file /spark-defaults.conf \ "$@" From 14794c6d4c429a11c04f0b2ab32ed974877736dd Mon Sep 17 00:00:00 2001 From: Dmitry Meyerson Date: Sat, 31 Oct 2015 17:06:59 -0500 Subject: [PATCH 08/10] small changes --- Dockerfile | 6 ++---- README.md | 4 ++++ 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/Dockerfile b/Dockerfile index 0e63898..2a47d66 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,7 @@ FROM ubuntu:14.04 -#original dockerfile cloned Pakhomov Egor -MAINTAINER Dmitry Meyerson + +MAINTAINER Pakhomov Egor RUN apt-get -y update RUN DEBIAN_FRONTEND=noninteractive apt-get install -y --force-yes software-properties-common python-software-properties @@ -39,5 +39,3 @@ ENV SPARK_WORKER_WEBUI_PORT 9091 EXPOSE 8080 7077 8888 9091 4040 7001 7002 7003 7004 7005 7006 -RUN ./start-master.sh -RUN $SPARK_HOME/sbin/start-slave.sh $SPARK_MASTER_IP:7077 \ No newline at end of file diff --git a/README.md b/README.md index b9a8a4b..c2bbd52 100644 --- a/README.md +++ b/README.md @@ -14,6 +14,10 @@ To run worker execute: ``` ./start-worker.sh ``` +or start 2 slaves + + $SPARK_HOME/sbin/start-slave.sh $SPARK_MASTER_IP:7077 + You can run multiple workers. Every worker would be able to find master by it's container name "spark_master". To run spark shell against this cluster execute: From b088d7edfe45172451f0989e9ee28bd36b5a285f Mon Sep 17 00:00:00 2001 From: Dmitry Meyerson Date: Mon, 25 Jan 2016 15:42:57 -0600 Subject: [PATCH 09/10] needed python pkgs --- Dockerfile | 6 ++++++ start-master.sh | 4 ++-- start-worker.sh | 4 ++-- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/Dockerfile b/Dockerfile index 2a47d66..f84672c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -11,6 +11,12 @@ RUN /bin/echo debconf shared/accepted-oracle-license-v1-1 select true | /usr/bin RUN DEBIAN_FRONTEND=noninteractive apt-get -y install oracle-java7-installer oracle-java7-set-default RUN apt-get -y install curl +RUN apt-get -y update +RUN apt-get install -y python-numpy python-pandas +RUN apt-get install -y python-pip +RUN pip install requests +RUN pip install boto + RUN curl -s http://d3kbcqa49mib13.cloudfront.net/spark-1.5.1-bin-hadoop2.6.tgz | tar -xz -C /usr/local/ RUN cd /usr/local && ln -s spark-1.5.1-bin-hadoop2.6 spark diff --git a/start-master.sh b/start-master.sh index 60dc74c..5a3a975 100755 --- a/start-master.sh +++ b/start-master.sh @@ -1,3 +1,3 @@ #!/usr/bin/env bash -docker pull epahomov/docker-spark -docker run -d -t -P --name spark_master epahomov/docker-spark /start-master.sh "$@" +docker pull meyerson/docker-spark +docker run -d -t -P --name spark_master meyerson/docker-spark /start-master.sh "$@" diff --git a/start-worker.sh b/start-worker.sh index 50fbb87..b880c23 100755 --- a/start-worker.sh +++ b/start-worker.sh @@ -1,3 +1,3 @@ #!/usr/bin/env bash -docker pull epahomov/docker-spark -docker run -d -t -P --link spark_master:spark_master epahomov/docker-spark /start-worker.sh "$@" +docker pull meyerson/docker-spark +docker run -d -t -P --link spark_master:spark_master meyerson/docker-spark /start-worker.sh "$@" From fbe469ffda847d3834f5609bfde18a6ce6b24d51 Mon Sep 17 00:00:00 2001 From: Dmitry Meyerson Date: Tue, 26 Jan 2016 14:28:22 -0600 Subject: [PATCH 10/10] stuff we need --- Dockerfile | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Dockerfile b/Dockerfile index f84672c..127e656 100644 --- a/Dockerfile +++ b/Dockerfile @@ -14,6 +14,9 @@ RUN apt-get -y install curl RUN apt-get -y update RUN apt-get install -y python-numpy python-pandas RUN apt-get install -y python-pip +RUN apt-get install -y libopenblas-dev liblapack-dev liblapacke-dev libatlas-base-dev libatlas-dev + + RUN pip install requests RUN pip install boto