복붙노트

[HADOOP] 하이브 작업은 맵리 듀스 오류 발생 : 로컬 호스트에 hmaster / 127.0.0.1에서 전화 : 44849 연결 예외에 실패

HADOOP

하이브 작업은 맵리 듀스 오류 발생 : 로컬 호스트에 hmaster / 127.0.0.1에서 전화 : 44849 연결 예외에 실패

나는 하이브 명령 줄에서 실행하는 경우 :

hive > select count(*) from alogs;

단말에서, 다음을 나타낸다 :

    Total jobs = 1
Launching Job 1 out of 1
Number of reduce tasks determined at compile time: 1
In order to change the average load for a reducer (in bytes):
  set hive.exec.reducers.bytes.per.reducer=<number>
In order to limit the maximum number of reducers:
  set hive.exec.reducers.max=<number>
In order to set a constant number of reducers:
  set mapreduce.job.reduces=<number>
Starting Job = job_1417084377943_0009, Tracking URL = http://localhost:8088/proxy/application_1417084377943_0009/
Kill Command = /usr/lib/hadoop/bin/hadoop job  -kill job_1417084377943_0009
Hadoop job information for Stage-1: number of mappers: 0; number of reducers: 0
2014-12-02 17:59:44,068 Stage-1 map = 0%,  reduce = 0%
Ended Job = job_1417084377943_0009 with errors
Error during job, obtaining debugging information...
**FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask**
MapReduce Jobs Launched: 
Stage-Stage-1:  HDFS Read: 0 HDFS Write: 0 FAIL
Total MapReduce CPU Time Spent: 0 msec

그 때 나는 오류 세부 정보를 볼 ResourceManager에 사용 :

Application application_1417084377943_0009 failed 2 times due to Error launching appattempt_1417084377943_0009_000002. Got exception: **java.net.ConnectException: Call From hmaster/127.0.0.1 to localhost:44849 failed on connection exception: java.net.ConnectException: Connection refused;** For more details see: http://wiki.apache.org/hadoop/ConnectionRefused
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:408)
    at org.apache.hadoop.net.NetUtils.wrapWithMessage(NetUtils.java:783)
    at org.apache.hadoop.net.NetUtils.wrapException(NetUtils.java:730)
    at org.apache.hadoop.ipc.Client.call(Client.java:1415)
    at org.apache.hadoop.ipc.Client.call(Client.java:1364)
    at org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:206)
    at com.sun.proxy.$Proxy32.startContainers(Unknown Source)
    at org.apache.hadoop.yarn.api.impl.pb.client.ContainerManagementProtocolPBClientImpl.startContainers(ContainerManagementProtocolPBClientImpl.java:96)
    at org.apache.hadoop.yarn.server.resourcemanager.amlauncher.AMLauncher.launch(AMLauncher.java:119)
    at org.apache.hadoop.yarn.server.resourcemanager.amlauncher.AMLauncher.run(AMLauncher.java:254)
    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)
    Caused by: java.net.ConnectException: Connection refused
    at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
    at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:712)
    at org.apache.hadoop.net.SocketIOWithTimeout.connect(SocketIOWithTimeout.java:206)
    at org.apache.hadoop.net.NetUtils.connect(NetUtils.java:529)
    at org.apache.hadoop.net.NetUtils.connect(NetUtils.java:493)
    at org.apache.hadoop.ipc.Client$Connection.setupConnection(Client.java:606)
    at org.apache.hadoop.ipc.Client$Connection.setupIOstreams(Client.java:700)
    at org.apache.hadoop.ipc.Client$Connection.access$2800(Client.java:367)
    at org.apache.hadoop.ipc.Client.getConnection(Client.java:1463)
    at org.apache.hadoop.ipc.Client.call(Client.java:1382)
    ... 9 more
    . Failing the application. 

, 그리고 의미 무엇인가 : 오류가 알려 비록 것만으로는 충분 상세하다, 나는 CONFIGS '44849 로컬 호스트를'설정 위치를 모르는 '로컬 호스트에 hmaster / 127.0.0.1에서 전화가 : 44,849 연결 예외에 실패'

해결법

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

    1.나는 봄 원사가 쓴 내 응용 프로그램을 실행할 때 나는 당신과 같은 문제가 있습니다. 나는 해결책을 찾아 원사 응용 프로그램을 여러 번 테스트하고이 오류를 못해서 수 있습니다.

    나는 봄 원사가 쓴 내 응용 프로그램을 실행할 때 나는 당신과 같은 문제가 있습니다. 나는 해결책을 찾아 원사 응용 프로그램을 여러 번 테스트하고이 오류를 못해서 수 있습니다.

    첫째, 모든 THER 서버의 / etc / hosts 파일을 수정하고 파일의 모든 노예를 쓰기처럼 :

    192.168.0.101 slave1
    192.168.0.102 slave2
    ...
    

    둘째, / 홈 / 사용자 / 하둡의 모든 THER 서버의 실-site.xml 파일을 수정을 / etc / 하둡 / 과 재산을 같은 추가 :

      <property>
        <name>yarn.nodemanager.address</name>
        <value>slave1:57799</value>
      </property>
    

    도메인을 주목해야하는 서버 및 포트 번호는 모든 원사를 site.xml 파일의 일치해야합니다 같은 57799. 같은 randorm 번호를 설정할 수있다 포트에 동일.

    셋째, 다시 시작 ResourceManager에 모든 nodemanagers.

    나는 당신을 도울 수 있기를 바랍니다.

    또한 내가 파일에 노예 목록을 추가하지 않았기 때문에이 문제가 나의 맡았다 생각

    /home/user/hadoop/etc/hadoop/slaves 
    

    하지만 난 이것을 테스트하지 않았습니다.

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

    2.당신이 당신의 하둡 설정 파일 ".... / 하둡-2.8.1을 / etc / 하둡 / mapred-site.xml 파일"이 경우 파일을 설치, 당신은 원사를 실행하지 않은, 하이브 작업을 다시 시도가 서버에 연결 던질 수있다 : 0.0.0.0/0.0.0.0:8032 "예외입니다. (당신은 ┭┮﹏┭┮, 잘못)를 선택 *입니다 확인, 선택 합 (찾을 수 있습니다)

    당신이 당신의 하둡 설정 파일 ".... / 하둡-2.8.1을 / etc / 하둡 / mapred-site.xml 파일"이 경우 파일을 설치, 당신은 원사를 실행하지 않은, 하이브 작업을 다시 시도가 서버에 연결 던질 수있다 : 0.0.0.0/0.0.0.0:8032 "예외입니다. (당신은 ┭┮﹏┭┮, 잘못)를 선택 *입니다 확인, 선택 합 (찾을 수 있습니다)

    당신은 원사가 실행 중인지 확인하기 위해 "표준 새 번역"을 실행할 수 있습니다.

    원사가 실행되고 있지 않은 경우, 결과는 같은 수 있습니다 :

    [cc@localhost conf]$ jps
    36721 Jps
    8402 DataNode
    35458 RunJar
    8659 SecondaryNameNode
    8270 NameNode
    

    원사가 실행중인 경우, 결과는 같은 수 있습니다 :

    [cc@localhost sbin]$ jps
    13237 Jps
    9767 DataNode
    9975 SecondaryNameNode
    12651 ResourceManager (多了这个)
    12956 NodeManager (多了这个)
    9581 NameNode
    13135 JobHistoryServer
    

    두 가지 해결책이 있습니다 :

    1.rename mapred-site.xml 파일은 다음 하둡을 다시 시작 "MV mapred-site.xml의 mapred-site.xml.template"리눅스 명령을 실행하거나 mapred-site.xml의 파일을 삭제합니다.

    2.run YARN. 추신 : 하둡 설정을 수정하고 원사를 실행하는 "start-yarn.sh"를 사용합니다.

  3. from https://stackoverflow.com/questions/27246956/hive-jobs-occurs-mapreduce-error-call-from-hmaster-127-0-0-1-to-localhost4484 by cc-by-sa and MIT license