4
4
5
5
exec 2>&1
6
6
7
- export APPLICATION_WEB_PROXY_BASE=" ${DISPATCHER_UI_WEB_PROXY_BASE} "
8
-
9
- cd /opt/spark/dist
10
-
11
- export SPARK_DAEMON_JAVA_OPTS=" "
12
- if [ " ${DCOS_SERVICE_NAME} " != " spark" ]; then
13
- export SPARK_DAEMON_JAVA_OPTS=" $SPARK_DAEMON_JAVA_OPTS -Dspark.deploy.zookeeper.dir=/spark_mesos_dispatcher_${DCOS_SERVICE_NAME} "
14
- fi
15
-
16
- if [ " $SPARK_DISPATCHER_MESOS_ROLE " != " " ]; then
17
- export SPARK_DAEMON_JAVA_OPTS=" $SPARK_DAEMON_JAVA_OPTS -Dspark.mesos.role=$SPARK_DISPATCHER_MESOS_ROLE "
18
- fi
19
-
20
- if [ " $SPARK_DISPATCHER_MESOS_PRINCIPAL " != " " ]; then
21
- export SPARK_DAEMON_JAVA_OPTS=" $SPARK_DAEMON_JAVA_OPTS -Dspark.mesos.principal=$SPARK_DISPATCHER_MESOS_PRINCIPAL "
22
- fi
23
-
24
- if [ " $SPARK_DISPATCHER_MESOS_SECRET " != " " ]; then
25
- export SPARK_DAEMON_JAVA_OPTS=" $SPARK_DAEMON_JAVA_OPTS -Dspark.mesos.secret=$SPARK_DISPATCHER_MESOS_SECRET "
26
- fi
27
-
28
-
29
-
30
- HISTORY_SERVER_CONF=" "
31
- if [ " ${ENABLE_HISTORY_SERVER:= false} " = " true" ]; then
32
- HISTORY_SERVER_CONF=" spark.mesos.historyServer.url=${HISTORY_SERVER_WEB_PROXY_BASE} "
33
- fi
34
-
35
- sed " s,<HISTORY_SERVER_CONF>,${HISTORY_SERVER_CONF} ," \
36
- conf/mesos-cluster-dispatcher.properties.template > conf/mesos-cluster-dispatcher.properties
7
+ function export_daemon_opts() {
8
+ export SPARK_DAEMON_JAVA_OPTS=" "
9
+ if [ " ${DCOS_SERVICE_NAME} " != " spark" ]; then
10
+ export SPARK_DAEMON_JAVA_OPTS=" $SPARK_DAEMON_JAVA_OPTS -Dspark.deploy.zookeeper.dir=/spark_mesos_dispatcher_${DCOS_SERVICE_NAME} "
11
+ fi
12
+
13
+ if [ " $SPARK_DISPATCHER_MESOS_ROLE " != " " ]; then
14
+ export SPARK_DAEMON_JAVA_OPTS=" $SPARK_DAEMON_JAVA_OPTS -Dspark.mesos.role=$SPARK_DISPATCHER_MESOS_ROLE "
15
+ fi
16
+
17
+ if [ " $SPARK_DISPATCHER_MESOS_PRINCIPAL " != " " ]; then
18
+ export SPARK_DAEMON_JAVA_OPTS=" $SPARK_DAEMON_JAVA_OPTS -Dspark.mesos.principal=$SPARK_DISPATCHER_MESOS_PRINCIPAL "
19
+ fi
20
+
21
+ if [ " $SPARK_DISPATCHER_MESOS_SECRET " != " " ]; then
22
+ export SPARK_DAEMON_JAVA_OPTS=" $SPARK_DAEMON_JAVA_OPTS -Dspark.mesos.secret=$SPARK_DISPATCHER_MESOS_SECRET "
23
+ fi
24
+ }
37
25
38
- sed " s,<LOG_LEVEL>,${SPARK_LOG_LEVEL} ," \
39
- conf/log4j.properties.template > conf/log4j.properties
26
+ function set_log_level() {
27
+ sed " s,<LOG_LEVEL>,${SPARK_LOG_LEVEL} ," \
28
+ /opt/spark/dist/conf/log4j.properties.template > /opt/spark/dist/conf/log4j.properties
29
+ }
40
30
41
31
function add_if_non_empty() {
42
32
if [ -n " $2 " ]; then
43
- echo " $1 =$2 " >> conf/mesos-cluster-dispatcher.properties
33
+ echo " $1 =$2 " >> /opt/spark/dist/ conf/mesos-cluster-dispatcher.properties
44
34
fi
45
35
}
46
36
47
- if [ " ${SPARK_SSL_KEYSTOREBASE64} " != " " ]; then
48
- echo " ${SPARK_SSL_KEYSTOREBASE64} " | base64 -d > /tmp/dispatcher-keystore.jks
49
- add_if_non_empty spark.ssl.keyStore /tmp/dispatcher-keystore.jks
50
- fi
37
+ function configure_properties() {
38
+ HISTORY_SERVER_CONF=" "
39
+ if [ " ${ENABLE_HISTORY_SERVER:= false} " = " true" ]; then
40
+ HISTORY_SERVER_CONF=" spark.mesos.historyServer.url=${HISTORY_SERVER_WEB_PROXY_BASE} "
41
+ fi
42
+
43
+ sed " s,<HISTORY_SERVER_CONF>,${HISTORY_SERVER_CONF} ," \
44
+ /opt/spark/dist/conf/mesos-cluster-dispatcher.properties.template > /opt/spark/dist/conf/mesos-cluster-dispatcher.properties
45
+
46
+ if [ " ${SPARK_SSL_KEYSTOREBASE64} " != " " ]; then
47
+ echo " ${SPARK_SSL_KEYSTOREBASE64} " | base64 -d > /tmp/dispatcher-keystore.jks
48
+ add_if_non_empty spark.ssl.keyStore /tmp/dispatcher-keystore.jks
49
+ fi
50
+
51
+ if [ " ${SPARK_SSL_TRUSTSTOREBASE64} " != " " ]; then
52
+ echo " ${SPARK_SSL_TRUSTSTOREBASE64} " | base64 -d > /tmp/dispatcher-truststore.jks
53
+ add_if_non_empty spark.ssl.trustStore /tmp/dispatcher-truststore.jks
54
+ fi
55
+
56
+ add_if_non_empty spark.ssl.enabled " ${SPARK_SSL_ENABLED} "
57
+ add_if_non_empty spark.ssl.keyPassword " ${SPARK_SSL_KEYPASSWORD} "
58
+ add_if_non_empty spark.ssl.keyStorePassword " ${SPARK_SSL_KEYSTOREPASSWORD} "
59
+ add_if_non_empty spark.ssl.trustStorePassword " ${SPARK_SSL_TRUSTSTOREPASSWORD} "
60
+ add_if_non_empty spark.ssl.protocol " ${SPARK_SSL_PROTOCOL} "
61
+ add_if_non_empty spark.ssl.enabledAlgorithms " ${SPARK_SSL_ENABLEDALGORITHMS} "
62
+
63
+ # write defaults
64
+ if [ " ${DCOS_SERVICE_ACCOUNT_CREDENTIAL} " != " " ]; then
65
+ # write defaults using both property names, since 2.0 uses one and 2.1 uses the other
66
+ echo " spark.mesos.dispatcher.driverDefault.spark.mesos.driverEnv.MESOS_MODULES=file:///opt/mesosphere/etc/mesos-scheduler-modules/dcos_authenticatee_module.json" >> /opt/spark/dist/conf/mesos-cluster-dispatcher.properties
67
+ echo " spark.mesos.cluster.taskProperty.spark.mesos.driverEnv.MESOS_MODULES=file:///opt/mesosphere/etc/mesos-scheduler-modules/dcos_authenticatee_module.json" >> /opt/spark/dist/conf/mesos-cluster-dispatcher.properties
68
+
69
+ echo " spark.mesos.dispatcher.driverDefault.spark.mesos.driverEnv.MESOS_AUTHENTICATEE=com_mesosphere_dcos_ClassicRPCAuthenticatee" >> /opt/spark/dist/conf/mesos-cluster-dispatcher.properties
70
+ echo " spark.mesos.cluster.taskProperty.spark.mesos.driverEnv.MESOS_AUTHENTICATEE=com_mesosphere_dcos_ClassicRPCAuthenticatee" >> /opt/spark/dist/conf/mesos-cluster-dispatcher.properties
71
+
72
+ echo " spark.mesos.dispatcher.driverDefault.spark.mesos.principal=${SPARK_DISPATCHER_MESOS_PRINCIPAL} " >> /opt/spark/dist/conf/mesos-cluster-dispatcher.properties
73
+ echo " spark.mesos.cluster.taskProperty.spark.mesos.principal=${SPARK_DISPATCHER_MESOS_PRINCIPAL} " >> /opt/spark/dist/conf/mesos-cluster-dispatcher.properties
74
+ fi
75
+ }
51
76
52
- if [ " ${SPARK_SSL_TRUSTSTOREBASE64} " != " " ]; then
53
- echo " ${SPARK_SSL_TRUSTSTOREBASE64} " | base64 -d > /tmp/dispatcher-truststore.jks
54
- add_if_non_empty spark.ssl.trustStore /tmp/dispatcher-truststore.jks
55
- fi
56
77
57
- add_if_non_empty spark.ssl.enabled " ${SPARK_SSL_ENABLED} "
58
- add_if_non_empty spark.ssl.keyPassword " ${SPARK_SSL_KEYPASSWORD} "
59
- add_if_non_empty spark.ssl.keyStorePassword " ${SPARK_SSL_KEYSTOREPASSWORD} "
60
- add_if_non_empty spark.ssl.trustStorePassword " ${SPARK_SSL_TRUSTSTOREPASSWORD} "
61
- add_if_non_empty spark.ssl.protocol " ${SPARK_SSL_PROTOCOL} "
62
- add_if_non_empty spark.ssl.enabledAlgorithms " ${SPARK_SSL_ENABLEDALGORITHMS} "
78
+ export APPLICATION_WEB_PROXY_BASE=" ${DISPATCHER_UI_WEB_PROXY_BASE} "
79
+ set_log_level
80
+ export_daemon_opts
81
+ configure_properties
82
+ ZK=" master.mesos:2181"
63
83
64
- export ZK=" master.mesos:2181"
65
84
exec /opt/spark/dist/bin/spark-class \
66
85
org.apache.spark.deploy.mesos.MesosClusterDispatcher \
67
86
--port " ${DISPATCHER_PORT} " \
@@ -70,4 +89,4 @@ exec /opt/spark/dist/bin/spark-class \
70
89
--zk " ${ZK} " \
71
90
--host " ${HOST} " \
72
91
--name " ${DCOS_SERVICE_NAME} " \
73
- --properties-file " conf/mesos-cluster-dispatcher.properties"
92
+ --properties-file " /opt/spark/dist/ conf/mesos-cluster-dispatcher.properties"
0 commit comments