반응형

출처 : https://stackoverflow.com/questions/3241086/how-to-schedule-to-run-first-sunday-of-every-month

매달 첫 번째 일요일에 crontab 스케쥴링 하는 방법

저는 Redhat에서 Bash를 사용하고 있습니다. 저는 매달 첫 번째 일요일 오전 9시에 cron job을 스케쥴링 하고 싶습니다. 이를 어떻게 할 수 있을까요?


10개의 답변 중 1개를 추려냄

crontab 파일에서 이를 다음처럼 할 수 있습니다.

00 09 * * 7 [ $(date +\%d) -le 07 ] && /run/your/script

date +%d 는 오늘의 날짜 중 몇일인지 제공하며, 몇일이 7보다 작거나 같은지 검사할 수 있습니다. 그렇다면 당신의 명령을 실행합니다.

만약 이 스크립트가 일요일에만 실행되기를 원하면, 그 달의 첫번째 일요일에만 실행된다는 뜻이 됩니다.

crontab 파일에서 date 명령의 포멧팅 옵션은 escape 처리가 되어야 합니다.

반응형
반응형

출처 : https://stackoverflow.com/questions/37201918/spark-job-keep-on-running

Spark 작업을 실행한 채 유지하기

저는 다음 명령을 사용하여 ambari-server에서 저의 Spark 작업을 제출 하였습니다.

./spark-submit --class  customer.core.classname --master yarn --numexecutors 2 --driver-memory 2g --executor-memory 2g --executor-cores 1 /home/hdfs/Test/classname-0.0.1-SNAPSHOT-SNAPSHOT.jar newdata host:6667

이 명령은 잘 작동하였습니다.

하지만, 명령 프롬프트를 닫거나 그 작업을 kill하려고 할 때 그 작업은 실행한 채 유지하여야 합니다.

어떠한 도움이든 감사합니다.


4개 답변 중 1개의 답변

몇 가지 방법으로 이를 이룰 수 있습니다.

1) nohup을 사용하여 백그라운드(background)로 드라이버(driver) 프로세스를 spark-submit으로 실행할 수 있습니다.

nohup  ./spark-submit --class  customer.core.classname \
  --master yarn --numexecutors 2 \
  --driver-memory 2g --executor-memory 2g --executor-cores 1 \
  /home/hdfs/Test/classname-0.0.1-SNAPSHOT-SNAPSHOT.jar \
  newdata host:6667 &

2) 드라이버 프로세스가 다른 노드에서 실행되도록 배포 모드에서 클러스터로 실행하십시오.

반응형

+ Recent posts