본문 바로가기
빅데이터/oozie

[oozie][error] 우지의 shell 액션에서 python 실행시 : No such file or directory 오류 처리

by hs_seo 2018. 7. 10.

보통 윈도우에서 개발하고, 리눅스에서 우지를 실행하게 되는데

윈도우 파일 포맷으로 저장한 파일을 리눅스에서 실행하려고 하면

아래와 같이 파일을 찾지 못하는 오류가 발생한다.


/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


반응형