복붙노트

[HADOOP] HBase를 맵리 듀스에서 Nullpointer 예외

HADOOP

HBase를 맵리 듀스에서 Nullpointer 예외

나는 HBase를 소스 데이터를 받아 다른 HBase와 테이블에 mapreduces 맵리 듀스 응용 프로그램, 모든 Java.When 작성 내가 사용 실행을

hadoop jar myhbase.jar 

그것은 NullPointerException이 종료 아래:


14/01/31 11:07:02 INFO zookeeper.ClientCnxn: Socket connection established to 127.0.0.1/127.0.0.1:2181, initiating session
14/01/31 11:07:02 INFO zookeeper.ClientCnxn: Session establishment complete on server 127.0.0.1/127.0.0.1:2181, sessionid = 0x143e677d6e30007, negotiated timeout = 180000
14/01/31 11:07:03 INFO mapreduce.TableOutputFormat: Created table instance for hourinfo
14/01/31 11:07:03 INFO mapred.JobClient: Cleaning up the staging area hdfs://192.168.1.149:9000/hadoop_tmp/mapred/staging/root/.staging/job_201401310933_0002
Exception in thread "main" java.lang.NullPointerException
        at org.apache.hadoop.net.DNS.reverseDns(DNS.java:72)
        at org.apache.hadoop.hbase.mapreduce.TableInputFormatBase.reverseDNS(TableInputFormatBase.java:219)
        at org.apache.hadoop.hbase.mapreduce.TableInputFormatBase.getSplits(TableInputFormatBase.java:184)
        at org.apache.hadoop.mapred.JobClient.writeNewSplits(JobClient.java:962)
        at org.apache.hadoop.mapred.JobClient.writeSplits(JobClient.java:979)
        at org.apache.hadoop.mapred.JobClient.access$600(JobClient.java:174)
        at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:897)
        at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:850)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAs(Subject.java:396)
        at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1121)
        at org.apache.hadoop.mapred.JobClient.submitJobInternal(JobClient.java:850)
        at org.apache.hadoop.mapreduce.Job.submit(Job.java:500)
        at org.apache.hadoop.mapreduce.Job.waitForCompletion(Job.java:530)
        at mapreduce.hi.api.hbase.HBaseJobRunner.main(HBaseJobRunner.java:37)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.hadoop.util.RunJar.main(RunJar.java:156)

나는 HBase를-0.94.5 하둡 - 1.0.4을 사용하고 있습니다. 나는 정말이 error.Please 도움에 붙어 있어요 ..

해결법

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

    1.당신의 스택 트레이스의 상단을 체크 아웃 :

    당신의 스택 트레이스의 상단을 체크 아웃 :

     at org.apache.hadoop.net.DNS.reverseDns(DNS.java:72)
    

    당신의 앞으로 DNS 조회가 정확히 HBase를 / ZK 노드에 일치 역 있는지 확인하십시오.

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

    2.좋아, 내가이 문제를 해결했습니다. 예외에서 나는 그것이 작업 구성 매개 변수 hbase.nameserver.address을 찾고, 내가 TableInputFormatBase의 소스 코드를 분석 .When TableInputFormatBase.getSplits ()에서 유래되었다. 나는 내 코드에서이 값을 설정하면, 그것은했다.

    좋아, 내가이 문제를 해결했습니다. 예외에서 나는 그것이 작업 구성 매개 변수 hbase.nameserver.address을 찾고, 내가 TableInputFormatBase의 소스 코드를 분석 .When TableInputFormatBase.getSplits ()에서 유래되었다. 나는 내 코드에서이 값을 설정하면, 그것은했다.

  3. from https://stackoverflow.com/questions/21480858/nullpointer-exception-in-hbase-mapreduce by cc-by-sa and MIT license