あなたの.service
ファイルは、次のようになります。
[Unit]
Description=Spark service
[Service]
ExecStart=/path/to/spark/sbin/start-all.sh
[Install]
WantedBy=multi-user.target
.service
ファイルを有効にして使用するには、さらにいくつかの手順を実行します。
/lib/systemd/system
名前の付いたフォルダにそれを置きますmyfirst.service
スクリプトを実行可能にする:
chmod u+x /path/to/spark/sbin/start-all.sh
始めよう:
sudo systemctl start myfirst
起動時に実行できるようにします:
sudo systemctl enable myfirst
やめて
sudo systemctl stop myfirst
ノート:
デフォルトのサービスユーザーはすでにrootであるため、サービスでsudoを使用してSparkを起動する必要はありません。
その他のsystemd
オプションについては、以下のリンクをご覧ください。
更新
上記の内容は基本的なものです。sparkの完全なセットアップを次に示します。
[Unit]
Description=Apache Spark Master and Slave Servers
After=network.target
After=systemd-user-sessions.service
After=network-online.target
[Service]
User=spark
Type=forking
ExecStart=/opt/spark-1.6.1-bin-hadoop2.6/sbin/start-all.sh
ExecStop=/opt/spark-1.6.1-bin-hadoop2.6/sbin/stop-all.sh
TimeoutSec=30
Restart=on-failure
RestartSec=30
StartLimitInterval=350
StartLimitBurst=10
[Install]
WantedBy=multi-user.target
サービスをセットアップするには:
sudo systemctl start spark.service
sudo systemctl stop spark.service
sudo systemctl enable spark.service
参考文献
以下のリンクをお読みください。Sparkは複雑な設定なので、Ubuntuのinitサービスと統合する方法を理解する必要があります。
https://datasciencenovice.wordpress.com/2016/11/30/spark-stand-alone-cluster-as-a-systemd-service-ubuntu-16-04centos-7/
https://www.digitalocean.com/community/tutorials/understanding-systemd-units-and-unit-files
https://www.freedesktop.org/software/systemd/man/systemd.unit.html