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

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

Quando provo ad aggiungere un file in HDFS, ottengo un'eccezione come di seguito. si prega di avvisare

file.append(new Path(uri));

Eccezione

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)

Si noti che ho questo problema solo con la versione di Hadoop 2.6.1 ma sta funzionando bene con la versione 2.7.1

risposte:

3 per risposta № 1

Il problema era con la versione del jar client hadoop di apache. Nel mio pom.xml, ho avuto l'ultima versione 2.7.1 che con mia sorpresa è incompatibile con l'installazione di hadoop 2.6.1.Non esiste alcuna retrocompatibilità per jar client hadoop. La modifica finale al mio pom.xml è la seguente

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

1 per risposta № 2

Questo succede a causa del conflitto di versione. prova a cambiare dipendenza nel file xml