[HADOOP] Hadoop MapReduce 오류 - / bin / bash : / bin / java :는 디렉토리입니다.
HADOOPHadoop MapReduce 오류 - / bin / bash : / bin / java :는 디렉토리입니다.
날씨 데이터의 로그 파일에서 최대 온도를 검색하는 MacOS 10.12에서 기본 MapReduce 프로그램을 실행하려고합니다. 작업을 실행할 때 다음 스택 추적을받습니다.
Stack trace: ExitCodeException exitCode=126:
at org.apache.hadoop.util.Shell.runCommand(Shell.java:582)
at org.apache.hadoop.util.Shell.run(Shell.java:479)
at org.apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.java:773)
at org.apache.hadoop.yarn.server.nodemanager.DefaultContainerExecutor.launchContainer(DefaultContainerExecutor.java:212)
at org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch.call(ContainerLaunch.java:302)
at org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch.call(ContainerLaunch.java:82)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
자원 관리자의 작업에 대한 stderr 로그 파일에는 "/ bin / bash : / bin / java : is an directory"메시지가 있습니다.
나는 원래 "/ bin / bash : / bin / java : No such file or directory"라는 오류 메시지를 받았지만, hadoop-config.sh 스크립트를이 게시물의 대답으로 제안 된대로 수정했습니다. 다음과 같이 수정했습니다.
if [[ -z $JAVA_HOME ]]; then
# On OSX use java_home (or /Library for older versions)
if [ "Darwin" == "$(uname -s)" ]; then
if [ -x /usr/libexec/java_home ]; then
export JAVA_HOME=${JAVA_HOME}
else
export JAVA_HOME=${JAVA_HOME}
fi
fi
My $ JAVA_HOME 변수는 다음과 같이 설정됩니다. /Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home
이 문제는 JAVA_HOME 변수의 구성 문제로 인한 것입니까?
해결법
-
==============================
1.이것은 hadoop-env.sh에서 JAVA_HOME 변수를 하드 코딩하여 해결되었습니다 (이 질문에 대한 가장 높은 투표 응답에 지정된대로)
이것은 hadoop-env.sh에서 JAVA_HOME 변수를 하드 코딩하여 해결되었습니다 (이 질문에 대한 가장 높은 투표 응답에 지정된대로)
변경된 항목 :
export JAVA_HOME=${JAVA_HOME}
이에:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home
-
==============================
2.나는이 문제로 내 자신의 경기장을 가지고 있었고, 내 자신의 경험을 던지고 싶었다. 내 경우에는 / bin / bash : / bin / java : Apache 웹 사이트에서 자세한 예제를 실행하려고 할 때 해당 파일이나 디렉토리를 가져 오지 않았습니다.
나는이 문제로 내 자신의 경기장을 가지고 있었고, 내 자신의 경험을 던지고 싶었다. 내 경우에는 / bin / bash : / bin / java : Apache 웹 사이트에서 자세한 예제를 실행하려고 할 때 해당 파일이나 디렉토리를 가져 오지 않았습니다.
이 문제를 해결하는 방법을 찾기 시작하기에 좋은 곳은 모든 파일을 조사하여 문제가 어디에서 발생했는지 확인하는 것입니다. grep -r '/ bin / java'./*
JAVA = $ JAVA_HOME / bin / java의 다양한 선언 외에도 $ HADOOP_CONF_DIR / share / hadoop / httpfs / tomcat / bin / setclasspath.sh에서 _RUNJAVA = $ JRE_ENV / bin / java를 보았습니다. 이 환경 변수를 설정하지 않았으므로 원사를 멈추고 $ JAVA_HOME과 같게 설정 한 다음 다시 시작했습니다.
-
==============================
3.또는이 주석에 제시된 명령 순서를 시도 할 수 있습니다.
또는이 주석에 제시된 명령 순서를 시도 할 수 있습니다.
hdfs namenode -format; start-dfs.sh; yarn-daemon.sh start resourcemanager; yarn-daemon.sh start nodemanager;
pseudo-distributed 모드에서 "start-yarn.sh"를 통해 YARN을 시작하면 안됩니다. 이 문제는 "start-yarn.sh"가 작동하는 방식과 관련이 있습니다 (향후 릴리스에서 수정 될 예정 임).
from https://stackoverflow.com/questions/39628501/hadoop-mapreduce-error-bin-bash-bin-java-is-a-directory by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] HDFS에서 파일을 삭제하는 방법은 무엇입니까? (0) | 2019.08.03 |
---|---|
[HADOOP] 새로운 사용자 SSH hadoop (0) | 2019.08.03 |
[HADOOP] ClassNotFoundException : 스파이크가있는 org.apache.spark.SparkConf (0) | 2019.08.03 |
[HADOOP] Java 8로 Hadoop 2.4.1을 빌드 할 수 없음 (0) | 2019.08.03 |
[HADOOP] flume을 통해 트위터에서 데이터를 다운로드 할 수 없음 (0) | 2019.08.03 |