빅데이터/oozie
[oozie][error] 우지의 shell 액션에서 python 실행시 : No such file or directory 오류 처리
hs_seo
2018. 7. 10. 17:40
보통 윈도우에서 개발하고, 리눅스에서 우지를 실행하게 되는데
윈도우 파일 포맷으로 저장한 파일을 리눅스에서 실행하려고 하면
아래와 같이 파일을 찾지 못하는 오류가 발생한다.
/usr/bin/env: python
: No such file or directory
Failing Oozie Launcher, Main class [org.apache.oozie.action.hadoop.ShellMain], exit code [1]
또 파일 포맷의 이상일 때 다음과 같은 오류가 발생할 수도 있다.
윈도우의 줄바꿈은 CR+LF(/r/n)이고,
유닉스의 줄바꿈은 LF(/n)라서 오류가 발생한다.
/bin/sh^M: bad interpreter: No such file or directory
이럴때 파일을 vi 로 열어보면 하단에 현재 파일의 저장 상태를 확인할 수 있다.
이를 확인해서 [dos] 로 되어 있다면 파일 포맷을 변경해서 다시 실행하면 된다.
vi의 명령어 입력모드에서 다음을 입력하면 됩니다.
# 파일 포맷 변경
set fileformat=unix
또는
set ff=unix
# 파일 내용 변경(/r 제거)
sed -i 's/\r//' filename
이클립스에서는 다음을 이용해서 파일 포맷을 변경할 수 있습니다.
File -> Convert Line Delimeters To -> Unix
반응형