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

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

Keď sa pokúsim pripojiť k súboru v HDFS, získam výnimku, ako je uvedené nižšie. Prosím poraď

file.append(new Path(uri));

výnimka

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)

Upozorňujeme, že tento problém mám len v prípade verzie Hadoop 2.6.1 ale to funguje s verziou 2.7.1

odpovede:

3 pre odpoveď č. 1

Problém bol s verziou klienta apache hadoop client. V mojom pom.xml som mal najnovšiu verziu 2.7.1, ktorá podľa môjho prekvapenia nie je kompatibilná s inštaláciou hadoop 2.6.1.Neexistuje žiadna spätná kompatibilita pre klienta hadoop klienta. Konečná zmena pom.xml je uvedená nižšie

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

1 pre odpoveď č. 2

K tomu dochádza v dôsledku konfliktu verzie. skúste meniť závislosť v súbore xml