복붙노트

[HADOOP] Hadoop 2에서 작업을 실행하는 동안 클러스터 예외를 초기화 할 수 없습니다.

HADOOP

Hadoop 2에서 작업을 실행하는 동안 클러스터 예외를 초기화 할 수 없습니다.

질문은 이전 질문에 링크되어 있습니다. 모든 데몬이 실행 중입니다. jps shows :

6663 JobHistoryServer
7213 ResourceManager
9235 Jps
6289 DataNode
6200 NameNode
7420 NodeManager

그러나 wordcount 예제는 다음과 같은 예외로 계속 실패합니다.

ERROR security.UserGroupInformation: PriviledgedActionException as:root (auth:SIMPLE) cause:java.io.IOException: Cannot initialize Cluster. Please check your configuration for mapreduce.framework.name and the correspond server addresses.
Exception in thread "main" java.io.IOException: Cannot initialize Cluster. Please check your configuration for mapreduce.framework.name and the correspond server addresses.
    at org.apache.hadoop.mapreduce.Cluster.initialize(Cluster.java:120)
    at org.apache.hadoop.mapreduce.Cluster.<init>(Cluster.java:82)
    at org.apache.hadoop.mapreduce.Cluster.<init>(Cluster.java:75)
    at org.apache.hadoop.mapreduce.Job$9.run(Job.java:1238)
    at org.apache.hadoop.mapreduce.Job$9.run(Job.java:1234)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAs(Subject.java:415)
    at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1491)
    at org.apache.hadoop.mapreduce.Job.connect(Job.java:1233)
    at org.apache.hadoop.mapreduce.Job.submit(Job.java:1262)
    at org.apache.hadoop.mapreduce.Job.waitForCompletion(Job.java:1286)
    at WordCount.main(WordCount.java:80)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.apache.hadoop.util.RunJar.main(RunJar.java:212)

문제가 구성 중이라고 했으므로 여기에 구성 파일을 게시하고 있습니다. 단일 노드 클러스터를 작성합니다.

yarn-site.xml

<?xml version="1.0"?>
 <configuration>
<property>
   <name>yarn.nodemanager.aux-services</name>
   <value>mapreduce_shuffle</value>
</property>
<property>
   <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
   <value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
</configuration>

core-site.xml

<configuration>
<property>
   <name>fs.default.name</name>
   <value>hdfs://localhost:9000</value>
</property>
</configuration>

hdfs-site.xml

 <configuration>
 <property>
   <name>dfs.replication</name>
   <value>1</value>
 </property>
 <property>
   <name>dfs.namenode.name.dir</name>
   <value>file:/home/hduser/yarn/yarn_data/hdfs/namenode</value>
 </property>
 <property>
   <name>dfs.datanode.data.dir</name>
   <value>file:/home/hduser/yarn/yarn_data/hdfs/datanode</value>
 </property>
 </configuration>

mapred-site.xml

<configuration>
  <property>
      <name>mapreduce.framework.name</name>
      <value>Yarn</value>
  </property>
</configuration>

누락 된 부분이나 내가 잘못한 부분을 알려주십시오.

해결법

  1. ==============================

    1.아마도 원사를 대문자로 처리했기 때문에 원사를 해결할 수 없습니다. 공식 문서에 제안 된 소문자 버전을 사용해보십시오.

    아마도 원사를 대문자로 처리했기 때문에 원사를 해결할 수 없습니다. 공식 문서에 제안 된 소문자 버전을 사용해보십시오.

    <configuration>
      <property>
          <name>mapreduce.framework.name</name>
          <value>yarn</value>
      </property>
    </configuration>
    
  2. ==============================

    2.나는 비슷한 문제가 있었지만 원사는 문제가되지 않았다. 다음 jar 파일을 클래스 경로에 추가 한 후 문제가 해결되었습니다.

    나는 비슷한 문제가 있었지만 원사는 문제가되지 않았다. 다음 jar 파일을 클래스 경로에 추가 한 후 문제가 해결되었습니다.

  3. ==============================

    3.나는 행운의 날을 보내고이 예외의 원인으로 '모두'를 통과 한 것처럼 보입니다. 개요:

    나는 행운의 날을 보내고이 예외의 원인으로 '모두'를 통과 한 것처럼 보입니다. 개요:

  4. ==============================

    4.제 경우에는 sqoop을 사용 하려다가이 오류가 발생했습니다. 내가 sqoop가 지원되지 않는 CDH 저장소에서 사용 가능한 최신 버전의 hadoop 2.0을 가리키고 있음을 알 수 있습니다. cloudera의 버전은 2.0.0-cdh4.4.0이었으며 원사 지원 기능이 내장되어 있습니다.

    제 경우에는 sqoop을 사용 하려다가이 오류가 발생했습니다. 내가 sqoop가 지원되지 않는 CDH 저장소에서 사용 가능한 최신 버전의 hadoop 2.0을 가리키고 있음을 알 수 있습니다. cloudera의 버전은 2.0.0-cdh4.4.0이었으며 원사 지원 기능이 내장되어 있습니다.

    hadoop-0.20에서 2.0.0-cdh4.4.0을 사용하면 문제가 사라졌습니다. 희망이 도움이됩니다.

  5. ==============================

    5.mapreduce_shuffle을 mapreduce.shuffle로 변경하면 제 경우에 효과가있었습니다.

    mapreduce_shuffle을 mapreduce.shuffle로 변경하면 제 경우에 효과가있었습니다.

  6. from https://stackoverflow.com/questions/19642862/cannot-initialize-cluster-exception-while-running-job-on-hadoop-2 by cc-by-sa and MIT license