You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flink.apache.org by mx...@apache.org on 2016/12/16 17:00:37 UTC
[4/7] flink git commit: [docker] improve Dockerfile host configuration
[docker] improve Dockerfile host configuration
- configure job manager address for both operation modes
- introduce argument to specify the external job manager address
- replace ARG with ENV for backwards-compatibility
- EXPOSE web port and RPC port
This closes #2981.
Project: http://git-wip-us.apache.org/repos/asf/flink/repo
Commit: http://git-wip-us.apache.org/repos/asf/flink/commit/6e1e1395
Tree: http://git-wip-us.apache.org/repos/asf/flink/tree/6e1e1395
Diff: http://git-wip-us.apache.org/repos/asf/flink/diff/6e1e1395
Branch: refs/heads/master
Commit: 6e1e13958251af18555193160d278c6ffcdd0539
Parents: 67c4be6
Author: Maximilian Michels <mx...@apache.org>
Authored: Fri Dec 9 17:58:30 2016 +0100
Committer: Maximilian Michels <mx...@apache.org>
Committed: Fri Dec 16 17:51:59 2016 +0100
----------------------------------------------------------------------
flink-contrib/docker-flink/Dockerfile | 13 +++++++++----
.../docker-flink/docker-compose-bluemix.yml | 2 ++
flink-contrib/docker-flink/docker-compose.yml | 4 ++++
flink-contrib/docker-flink/docker-entrypoint.sh | 20 +++++++++++---------
4 files changed, 26 insertions(+), 13 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/flink/blob/6e1e1395/flink-contrib/docker-flink/Dockerfile
----------------------------------------------------------------------
diff --git a/flink-contrib/docker-flink/Dockerfile b/flink-contrib/docker-flink/Dockerfile
index d5a4432..ce5271dc 100644
--- a/flink-contrib/docker-flink/Dockerfile
+++ b/flink-contrib/docker-flink/Dockerfile
@@ -22,15 +22,20 @@ FROM java:8-jre-alpine
RUN apk add --no-cache bash snappy
# Configure Flink version
-ARG FLINK_VERSION=1.1.1
-ARG HADOOP_VERSION=27
-ARG SCALA_VERSION=2.11
+ENV FLINK_VERSION=1.1.1
+ENV HADOOP_VERSION=27
+ENV SCALA_VERSION=2.11
# Flink environment variables
-ARG FLINK_INSTALL_PATH=/opt
+ENV FLINK_INSTALL_PATH=/opt
ENV FLINK_HOME $FLINK_INSTALL_PATH/flink
ENV PATH $PATH:$FLINK_HOME/bin
+# These can be mapped from the host to the container using
+# $ docker run -t flink -p 8081:8081 -p 6123:6123 jobmanager
+EXPOSE 8081
+EXPOSE 6123
+
# Install build dependencies and flink
RUN set -x && \
mkdir -p $FLINK_INSTALL_PATH && \
http://git-wip-us.apache.org/repos/asf/flink/blob/6e1e1395/flink-contrib/docker-flink/docker-compose-bluemix.yml
----------------------------------------------------------------------
diff --git a/flink-contrib/docker-flink/docker-compose-bluemix.yml b/flink-contrib/docker-flink/docker-compose-bluemix.yml
index 0155f01..b667a0d 100644
--- a/flink-contrib/docker-flink/docker-compose-bluemix.yml
+++ b/flink-contrib/docker-flink/docker-compose-bluemix.yml
@@ -40,3 +40,5 @@ services:
command: taskmanager
links:
- "jobmanager:jobmanager"
+ environment:
+ - JOB_MANAGER_RPC_ADDRESS="jobmanager"
http://git-wip-us.apache.org/repos/asf/flink/blob/6e1e1395/flink-contrib/docker-flink/docker-compose.yml
----------------------------------------------------------------------
diff --git a/flink-contrib/docker-flink/docker-compose.yml b/flink-contrib/docker-flink/docker-compose.yml
index eaa30a6..6a13353 100644
--- a/flink-contrib/docker-flink/docker-compose.yml
+++ b/flink-contrib/docker-flink/docker-compose.yml
@@ -26,6 +26,8 @@ services:
ports:
- "48081:8081"
command: jobmanager
+ environment:
+ - JOB_MANAGER_RPC_ADDRESS="jobmanager"
taskmanager:
image: flink
@@ -37,3 +39,5 @@ services:
command: taskmanager
links:
- "jobmanager:jobmanager"
+ environment:
+ - JOB_MANAGER_RPC_ADDRESS="jobmanager"
http://git-wip-us.apache.org/repos/asf/flink/blob/6e1e1395/flink-contrib/docker-flink/docker-entrypoint.sh
----------------------------------------------------------------------
diff --git a/flink-contrib/docker-flink/docker-entrypoint.sh b/flink-contrib/docker-flink/docker-entrypoint.sh
index a2ca0e9..780ce38 100755
--- a/flink-contrib/docker-flink/docker-entrypoint.sh
+++ b/flink-contrib/docker-flink/docker-entrypoint.sh
@@ -18,20 +18,19 @@
# limitations under the License.
################################################################################
-if [ "$1" = "jobmanager" ]; then
- echo "Starting Job Manager"
- #sed -i -e "s/jobmanager.rpc.address: localhost/jobmanager.rpc.address: `hostname -f`/g" $FLINK_HOME/conf/flink-conf.yaml
+### If unspecified, the hostname of the container is taken as the JobManager address
+JOB_MANAGER_RPC_ADDRESS=${JOB_MANAGER_RPC_ADDRESS:-`hostname -f`}
+###
- # make use of container linking and exploit the jobmanager entry in /etc/hosts
- sed -i -e "s/jobmanager.rpc.address: localhost/jobmanager.rpc.address: jobmanager/g" $FLINK_HOME/conf/flink-conf.yaml
+if [ "$1" == "jobmanager" ]; then
+ echo "Starting Job Manager"
+ sed -i -e "s/jobmanager.rpc.address: localhost/jobmanager.rpc.address: ${JOB_MANAGER_RPC_ADDRESS}/g" $FLINK_HOME/conf/flink-conf.yaml
echo "config file: " && grep '^[^\n#]' $FLINK_HOME/conf/flink-conf.yaml
$FLINK_HOME/bin/jobmanager.sh start cluster
-elif [ "$1" = "taskmanager" ]; then
-
- # make use of container linking and exploit the jobmanager entry in /etc/hosts
- sed -i -e "s/jobmanager.rpc.address: localhost/jobmanager.rpc.address: jobmanager/g" $FLINK_HOME/conf/flink-conf.yaml
+elif [ "$1" == "taskmanager" ]; then
+ sed -i -e "s/jobmanager.rpc.address: localhost/jobmanager.rpc.address: ${JOB_MANAGER_RPC_ADDRESS}/g" $FLINK_HOME/conf/flink-conf.yaml
sed -i -e "s/taskmanager.numberOfTaskSlots: 1/taskmanager.numberOfTaskSlots: `grep -c ^processor /proc/cpuinfo`/g" $FLINK_HOME/conf/flink-conf.yaml
echo "Starting Task Manager"
@@ -40,3 +39,6 @@ elif [ "$1" = "taskmanager" ]; then
else
$@
fi
+
+# prevent script to exit
+tail -f /dev/null