/ / Hadoop 2.6.1 java.lang.NullPointerException unter org.apache.hadoop.hdfs.DFSOutputStream.isLazyPersist (DFSOutputStream.java:1709) - java, hadoop

Hadoop 2.6.1 java.lang.NullPointerException bei org.apache.hadoop.hdfs.DFSOutputStream.isLazyPersist (DFSOutputStream.java:1709) - Java, Hadoop

Wenn ich versuche, eine Datei in HDFS anzuhängen, erhalte ich eine Ausnahme wie unten. Bitte beraten

file.append(new Path(uri));

Ausnahme

java.lang.NullPointerException
at org.apache.hadoop.hdfs.DFSOutputStream.isLazyPersist(DFSOutputStream.java:1709)
at org.apache.hadoop.hdfs.DFSOutputStream.getChecksum4Compute(DFSOutputStream.java:1550)
at org.apache.hadoop.hdfs.DFSOutputStream.<init>(DFSOutputStream.java:1560)
at org.apache.hadoop.hdfs.DFSOutputStream.<init>(DFSOutputStream.java:1667)
at org.apache.hadoop.hdfs.DFSOutputStream.newStreamForAppend(DFSOutputStream.java:1694)
at org.apache.hadoop.hdfs.DFSClient.callAppend(DFSClient.java:1824)
at org.apache.hadoop.hdfs.DFSClient.append(DFSClient.java:1885)
at org.apache.hadoop.hdfs.DFSClient.append(DFSClient.java:1855)
at org.apache.hadoop.hdfs.DistributedFileSystem$4.doCall(DistributedFileSystem.java:340)
at org.apache.hadoop.hdfs.DistributedFileSystem$4.doCall(DistributedFileSystem.java:336)
at org.apache.hadoop.fs.FileSystemLinkResolver.resolve(FileSystemLinkResolver.java:81)
at org.apache.hadoop.hdfs.DistributedFileSystem.append(DistributedFileSystem.java:348)
at org.apache.hadoop.hdfs.DistributedFileSystem.append(DistributedFileSystem.java:318)
at org.apache.hadoop.fs.FileSystem.append(FileSystem.java:1164)

Beachten Sie, dass dieses Problem nur bei der Hadoop-Version auftritt 2.6.1 aber es funktioniert gut mit Version 2.7.1

Antworten:

3 für die Antwort № 1

Das Problem war mit der Version von Apache Hadoop Client Jar. In meiner pom.xml hatte ich die neueste Version 2.7.1, die zu meiner Überraschung nicht mit der Installation von hadoop 2.6.1 kompatibel ist.Es gibt keine Abwärtskompatibilität für den Hadoop-Client-Jar. Die letzte Änderung an meiner pom.xml ist wie folgt

<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-client</artifactId>
<version>2.6.1</version>
<dependency>

1 für die Antwort № 2

Dies geschieht aufgrund eines Versionskonflikts. Versuchen Sie, die Abhängigkeit in der XML-Datei zu ändern