Spark: Difference between revisions

From Chorke Wiki
Jump to navigation Jump to search
No edit summary
Line 80: Line 80:


| valign="top" |
| valign="top" |
* [https://stackoverflow.com/questions/61472322/ KillSignal interact with TimeoutStopSec]
* [https://unix.stackexchange.com/questions/388483/ Delay Systemd Service If File Exist]
* [https://unix.stackexchange.com/questions/388483/ Delay Systemd Service If File Exist]
* [https://www.freedesktop.org/software/systemd/man/systemd.unit.html#Conditions%20and%20Asserts System Unit Conditions & Asserts]
* [https://www.freedesktop.org/software/systemd/man/systemd.unit.html#Conditions%20and%20Asserts System Unit Conditions & Asserts]

Revision as of 09:40, 25 September 2022

Spark Master

sudo tee -a /etc/systemd/system/spark-master.service >/dev/null <<EOF
[Unit]
Description=Apache Spark Master
Documentation=https://spark.apache.org/docs/3.3.0
Wants=network-online.target
After=network-online.target
After=systemd-user-sessions.service

[Service]
User=spark
Group=spark
Type=forking
EnvironmentFile=${SPARK_HOME}/etc/env
ExecStart=${SPARK_HOME}/sbin/start-master.sh
ExecStop=${SPARK_HOME}/sbin/stop-master.sh

[Install]
WantedBy=multi-user.target
EOF

Slave Daemon

sudo tee -a /etc/systemd/system/spark-slave.service >/dev/null <<EOF
[Unit]
Description=Apache Spark Slave
Documentation=https://spark.apache.org/docs/3.3.0
Wants=network-online.target
After=network-online.target
AssertFileNotEmpty=${SPARK_HOME}/etc/env

[Service]
User=spark
Group=spark
Type=forking

EnvironmentFile=${SPARK_HOME}/etc/env
WorkingDirectory={{SPARK_HOME}}/sbin
ExecStartPre=/bin/bash -c "if [ -z \"\${PYSPARK_PYTHON}\" ]; then echo \"Variable PYSPARK_PYTHON not set in ${SPARK_HOME}/etc/env\"; exit 1; fi"
ExecStartPre=/bin/bash -c "if [ -z \"\${SPARK_HOME}\" ]; then echo \"Variable SPARK_HOME not set in ${SPARK_HOME}/etc/env\"; exit 1; fi"
ExecStartPre=/bin/bash -c "if [ -z \"\${JAVA_HOME}\" ]; then echo \"Variable JAVA_HOME not set in ${SPARK_HOME}/etc/env\"; exit 1; fi"
ExecStartPost=/bin/bash -c "echo \$MAINPID > ${SPARK_HOME}/etc/spark-slave.pid"
ExecStart={{SPARK_HOME}}/sbin/start-slave.sh spark://10.20.22.10:7077
ExecStop={{SPARK_HOME}}/sbin/stop-slave.sh
Restart=on-failure
RestartSec=10s

[Install]
WantedBy=multi-user.target
EOF

References