[HADOOP] Hadoop이 실행 중이더라도 작업 추적기에 내 직업을 보여주지 않습니다.
HADOOPHadoop이 실행 중이더라도 작업 추적기에 내 직업을 보여주지 않습니다.
문제점 : hadoop 2.2.0 클러스터에 작업을 제출하면 작업 추적기에 나타나지 않지만 작업이 성공적으로 완료됩니다. 이것으로 출력물을 볼 수 있으며 출력물이 올바르게 작동하고 출력물이 출력 될 때 출력합니다.
muliple 옵션을 시도했지만 작업 추적자가 작업을보고 있지 않습니다. 2.2.0 hadoop을 사용하여 스트리밍 작업을 실행하면 작업 추적기에 나타나지만 hadoop-client API를 통해 제출하면 작업 추적기에 나타나지 않습니다. 작업을 확인하기 위해 포트 8088의 UI 인터페이스를보고 있습니다.
환경 OSX Mavericks, Java 1.6, Hadoop 2.2.0 단일 노드 클러스터, Tomcat 7.0.47
암호
try {
configuration.set("fs.defaultFS", "hdfs://127.0.0.1:9000");
configuration.set("mapred.jobtracker.address", "localhost:9001");
Job job = createJob(configuration);
job.waitForCompletion(true);
} catch (Exception e) {
logger.log(Level.SEVERE, "Unable to execute job", e);
}
return null;
etc / hadoop / mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
</configuration>
etc / hadoop / core-site.xml
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/tmp/hadoop-${user.name}</value>
<description>A base for other temporary directories.</description>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
해결법
-
==============================
1.이 문제에 대한 해결책은 실에 대한 추가 구성 옵션으로 작업을 구성하는 것이 었습니다. 나는 java hadoop-client api가 설정 디렉토리의 설정 옵션을 사용할 것이라는 잘못된 가정을 int로 만들었다. 내 단위 테스트를 위해 log4j.properties를 사용하여 자세한 로깅을 설정하여 문제를 진단 할 수있었습니다. 작업이 현지에서 진행 중이며 원사 자원 관리자에게 제출되지 않았 음을 보여줍니다. 약간의 시행 착오를 통해 작업을 구성하고 원사 자원 관리자에게 제출할 수있었습니다.
이 문제에 대한 해결책은 실에 대한 추가 구성 옵션으로 작업을 구성하는 것이 었습니다. 나는 java hadoop-client api가 설정 디렉토리의 설정 옵션을 사용할 것이라는 잘못된 가정을 int로 만들었다. 내 단위 테스트를 위해 log4j.properties를 사용하여 자세한 로깅을 설정하여 문제를 진단 할 수있었습니다. 작업이 현지에서 진행 중이며 원사 자원 관리자에게 제출되지 않았 음을 보여줍니다. 약간의 시행 착오를 통해 작업을 구성하고 원사 자원 관리자에게 제출할 수있었습니다.
암호
try { configuration.set("fs.defaultFS", "hdfs://127.0.0.1:9000"); configuration.set("mapreduce.jobtracker.address", "localhost:54311"); configuration.set("mapreduce.framework.name", "yarn"); configuration.set("yarn.resourcemanager.address", "localhost:8032"); Job job = createJob(configuration); job.waitForCompletion(true); } catch (Exception e) { logger.log(Level.SEVERE, "Unable to execute job", e); }
-
==============================
2.Hadoop 2.2.0을 사용하고 있습니다. MRv1 또는 MRv2를 사용하고 있습니까? MRv2 (YARN)의 데몬은 다릅니다. Job Tracker UI에 대한 자리 표시 자 페이지가 표시 될 수 있지만 MRv2에 대한 JobTracker는 없습니다.
Hadoop 2.2.0을 사용하고 있습니다. MRv1 또는 MRv2를 사용하고 있습니까? MRv2 (YARN)의 데몬은 다릅니다. Job Tracker UI에 대한 자리 표시 자 페이지가 표시 될 수 있지만 MRv2에 대한 JobTracker는 없습니다.
ResourceManager 웹 UI에 제출 된 작업이 표시되어야합니다. ResourceManager의 기본 웹 URL은 http : //
: 8088입니다. ResourceManagerHost를 Resource Manager가 실행중인 노드의 IP 주소로 바꾸십시오.
Apache Hadoop YARN에서 YARN 아키텍처에 대한 자세한 내용을 볼 수 있습니다.
from https://stackoverflow.com/questions/21345022/hadoop-is-not-showing-my-job-in-the-job-tracker-even-though-it-is-running by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] 새 API에서의 AlternTextOutputFormat 대체 (0) | 2019.06.04 |
---|---|
[HADOOP] Hadoop Path 객체를 Java File 객체로 변환하는 방법 (0) | 2019.06.04 |
[HADOOP] MapReduce 작업 출력 정렬 순서 (0) | 2019.06.04 |
[HADOOP] 병렬로 여러 클라이언트의 HDFS 파일에 추가 할 수 있습니까? (0) | 2019.06.04 |
[HADOOP] NOT IN 절을 실행하는 하이브 명령 (0) | 2019.06.04 |