Seu arquivo .service
deve ficar assim:
[Unit]
Description=Spark service
[Service]
ExecStart=/path/to/spark/sbin/start-all.sh
[Install]
WantedBy=multi-user.target
Agora, siga mais algumas etapas para ativar e usar o arquivo .service
:
-
Coloque-o na pasta
/etc/systemd/system
com um nome demyfirst.service
-
Torne seu script executável com:
chmod u+x /path/to/spark/sbin/start-all.sh
-
Comece:
sudo systemctl start myfirst
-
Ativar para ser executado na inicialização:
sudo systemctl enable myfirst
-
Pare com isso:
sudo systemctl stop myfirst
Notas:
-
Você não precisa iniciar o Spark com o sudo em seu serviço, pois o usuário do serviço padrão já é root.
-
Veja os links abaixo para mais opções
systemd
.
UPDATE
Agora, o que temos acima é apenas rudimentar, aqui está uma configuração completa para a faísca:
[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
Para configurar o serviço:
sudo systemctl start spark.service
sudo systemctl stop spark.service
sudo systemctl enable spark.service
Outras leituras
Por favor, leia os links a seguir. O Spark é uma configuração complexa, então você deve entender como ele se integra ao serviço init do Ubuntu.