복붙노트

[HADOOP] Apache Pig의 연결 오류

HADOOP

Apache Pig의 연결 오류

Hadoop 2.0.5를 사용하여 Apache Pig .11.1을 실행하고 있습니다.

내가 돼지에서 뛰는 대부분의 간단한 일은 완벽하게 잘 작동합니다.

그러나 큰 데이터 집합이나 LIMIT 연산자에서 GROUP BY를 사용할 때마다 이러한 연결 오류가 발생합니다.

2013-07-29 13:24:08,591 [main] INFO  org.apache.hadoop.mapred.ClientServiceDelegate - Application state is completed. FinalApplicationStatus=SUCCEEDED. Redirecting to job history server 
013-07-29 11:57:29,421 [main] INFO  org.apache.hadoop.ipc.Client - Retrying connect to server: 0.0.0.0/0.0.0.0:10020. Already tried 0 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1 SECONDS)

2013-07-29 11:57:30,421 [main] INFO  org.apache.hadoop.ipc.Client - Retrying connect to server: 0.0.0.0/0.0.0.0:10020. Already tried 1 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1 SECONDS)

2013-07-29 11:57:31,422 [main] INFO  org.apache.hadoop.ipc.Client - Retrying connect to server: 0.0.0.0/0.0.0.0:10020. Already tried 2 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1 SECONDS)
...
2013-07-29 13:24:18,597 [main] INFO  org.apache.hadoop.ipc.Client - Retrying connect to server: 0.0.0.0/0.0.0.0:10020. Already tried 9 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1 SECONDS)
2013-07-29 13:24:18,598 [main] ERROR org.apache.hadoop.security.UserGroupInformation - PriviledgedActionException as:gpadmin (auth:SIMPLE) cause:java.io.IOException

이상한 점은이 오류가 약 2 분 동안 계속 나타난 후에 멈추고 올바른 출력이 맨 아래에 표시된다는 것입니다.

그래서 Hadoop은 잘 돌아가고 있으며 적절한 출력을 계산합니다. 문제는 이러한 연결 오류가 계속 발생하는 것입니다.

LIMIT 연산자는 항상이 오류를 가져옵니다. MapReduce 모드와 로컬 모드에서 모두 발생합니다. GROUP BY 연산자는 작은 데이터 세트에서 잘 작동합니다.

내가 알아챈 한 가지는이 오류가 나타날 때마다 작업이 작업 중에 여러 개의 JAR 파일을 만들고 실행했기 때문입니다. 그러나 이러한 메시지 팝업이 몇 분 후에 올바른 출력이 최종적으로 나타납니다.

이 메시지를 제거하는 방법에 대한 제안 사항은 무엇입니까?

해결법

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

    1.예, 문제는 작업 기록 서버가 실행되고 있지 않다는 것입니다.

    예, 문제는 작업 기록 서버가 실행되고 있지 않다는 것입니다.

    이 문제를 해결하기 위해해야 ​​할 일은 명령 프롬프트에이 명령을 입력하는 것뿐입니다.

    mr-jobhistory-daemon.sh start historyserver
    

    이 명령은 작업 히스토리 서버를 시작합니다. 이제 'jps'를 입력하면 JobHistoryServer가 실행 중이고 돼지 작업이 더 이상 서버에 연결하는 데 시간을 낭비하지 않음을 알 수 있습니다.

  2. ==============================

    2.나는이 문제가 hadoop mapred-site 설정 문제와 관련이 있다고 생각한다. History Server는 localhost에서 기본값으로 실행되므로 구성된 호스트를 추가해야합니다.

    나는이 문제가 hadoop mapred-site 설정 문제와 관련이 있다고 생각한다. History Server는 localhost에서 기본값으로 실행되므로 구성된 호스트를 추가해야합니다.

    <property>
     <name>mapreduce.jobhistory.address</name>
     <value>host:port</value>
    </property>
    

    그런 다음이 명령을 실행하십시오.

    mr-jobhistory-daemon.sh start historyserver
    
  3. ==============================

    3.Hadoop 2.6.0을 사용하고 있습니다.

    Hadoop 2.6.0을 사용하고 있습니다.

    $ mr-jobhistory-daemon.sh --config /usr/local/hadoop/etc start historyserver
    

    여기서 / usr / local / hadoop / etc는 내 HADOOP_CONF_DIR입니다.

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

    4.Hadoop 2.2.0을 사용하고 있습니다. 이 문제점은 히스토리 서버가 실행 중이 지 않았기 때문에 발생했습니다. 히스토리 서버를 시작해야했습니다. 히스토리 서버를 시작하기 위해 다음 명령을 사용했습니다.

    Hadoop 2.2.0을 사용하고 있습니다. 이 문제점은 히스토리 서버가 실행 중이 지 않았기 때문에 발생했습니다. 히스토리 서버를 시작해야했습니다. 히스토리 서버를 시작하기 위해 다음 명령을 사용했습니다.

  5. from https://stackoverflow.com/questions/17930644/connection-error-in-apache-pig by cc-by-sa and MIT license