몇 가지 예를 살펴보고 제대로 작동하는 것처럼 보이는 다음 두 가지를 생각해 냈지만 첫 번째 예만 실행됩니다.
*/5 * * * * /data/db/test1.py > /data/db/text.txt && hadoop fs -put -f /data/db/text.txt /tmp/ >/dev/null 2>&1
나도 시도했다
*/5 * * * * bash -c '/data/db/test1.py > /data/db/text.txt && hadoop fs -put -f /data/db/text.txt /tmp/' >/dev/null 2>&1
이 두 명령을 셸에서 별도로 실행하면 제대로 작동합니다.
답변1
내 메일의 오류를 조사한 결과 Kerberos 티켓이 없습니다. Kerberos가 해결되면 명령줄이 작동합니다. Kerberos 티켓을 구현하고 이번 호에 언급된 두 명령을 실행하기 위해 별도의 스크립트를 작성했습니다. crontab에서 스크립트를 실행하면 모든 것이 잘 작동합니다.