귀하의 .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
노트:
기본 서비스 사용자는 이미 루트이므로 서비스에서 sudo를 사용하여 Spark를 시작할 필요가 없습니다.
더 많은 systemd
옵션은 아래 링크를 참조하십시오 .
최신 정보
이제 우리가 가진 것은 초보적인 것입니다. 여기 스파크를위한 완전한 설정이 있습니다 :
[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