내가 Oozie를 통해 쉘 스크립트에서 자바 프로그램을 실행하고 나는 가장자리 노드 I에서 쉘 스크립트를 실행하면 나는 아래의 오류Oozie-- 자바 : 발견되지 명령 - 쉘 액션
java: command not found
를 얻을 어떤 문제도 발견하지 못하고 java 클래스는 아무런 오류없이 실행되며 원하는 결과도 얻습니다. 그러나 java 명령을 실행하는 데 실패한 것은 오지 작업입니다.
oozie의 다른 모든 조치는 부적절하게 실행되지만 java
행을 만나면 앞에서 설명한 오류가 발생합니다. Hadoop 클러스터의 모든 노드에 Java가 설치되어있는 것으로 알고 있는데 왜이 오류가 발생합니까? 다음은 내가
...
...
java -cp $LOCAL_DIR/libs/integration-tools.jar com.audit.reporting.GenerateExcelReport $LOCAL_DIR/input.txt $LOCAL_DIR/
...
의견을주십시오 내 쉘 스크립트에있는 자바 명령입니다.
'java : command not found '는 일반적으로'PATH'가'java' 명령의 위치를 포함하지 않음을 나타냅니다. 이 환경에서'echo "$ PATH"를 JVM이 성공적으로 호출 될 수있는 환경에서'echo "$ PATH"와 비교하십시오. –
... 확실히 Java가 * 설치되어있을 수 있습니다. 그러나 문제는 설치되어있는 위치가 현재 프로세스 *의 PATH에 있는지 여부입니다. 많은 운영 체제는'/ usr/lib/jvm/java8-jre-bin'과 같은 위치에 JVM을 설치합니다. 데몬은 PATH에 정확한 위치와 상관없이 그 위치를 가질 수 없습니다. –
그건 그렇고 - all-caps 이름은 운영 체제 나 쉘에 의미가있는 변수에 사용되는 반면, 하나 이상의 소문자가있는 이름은 응용 프로그램이 실수로 의미있는 이름을 덮어 쓰지 못하도록 예약되어 있습니다. 관련 POSIX 사양은 http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap08.html –