I guess this is a bug in Hadoop 2.6.5 and has been fixed in Hadoop 2.8.0 [1]. You can work around it by explicitly setting the configration "hadoop.security.crypto.codec.classes.aes.ctr.nopadding" as "org.apache.hadoop.crypto.OpensslAesCtrCryptoCodec, org.apache.hadoop.crypto.JceAesCtrCryptoCodec".
[1] https://issues.apache.org/jira/browse/HADOOP-11711 <https://issues.apache.org/jira/browse/HADOOP-11711> > 在 2019年10月28日,下午8:59,V N, Suchithra (Nokia - IN/Bangalore) > <suchithra....@nokia.com> 写道: > > Hi, > From debug logs I could see below logs in taskmanager. Please have a look. > > org.apache.hadoop.ipc.ProtobufRpcEngine Call: addBlock took 372ms"} > org.apache.hadoop.ipc.ProtobufRpcEngine Call: addBlock took 372ms"} > org.apache.hadoop.hdfs.DFSClient pipeline = 10.76.113.216:1044"} > org.apache.hadoop.hdfs.DFSClient pipeline = 10.76.113.216:1044"} > org.apache.hadoop.hdfs.DFSClient Connecting to datanode 10.76.113.216:1044"} > org.apache.hadoop.hdfs.DFSClient Connecting to datanode 10.76.113.216:1044"} > org.apache.hadoop.hdfs.DFSClient Send buf size 131072"} > org.apache.hadoop.hdfs.DFSClient Send buf size 131072"} > o.a.h.h.p.d.sasl.SaslDataTransferClient SASL client doing encrypted handshake > for addr = /10.76.113.216, datanodeId = 10.76.113.216:1044"} > o.a.h.h.p.d.sasl.SaslDataTransferClient SASL client doing encrypted handshake > for addr = /10.76.113.216, datanodeId = 10.76.113.216:1044"} > o.a.h.h.p.d.sasl.SaslDataTransferClient Client using encryption algorithm > 3des"} > o.a.h.h.p.d.sasl.SaslDataTransferClient Client using encryption algorithm > 3des"} > o.a.h.h.p.d.sasl.DataTransferSaslUtil Verifying QOP, requested QOP = > [auth-conf], negotiated QOP = auth-conf"} > o.a.h.h.p.d.sasl.DataTransferSaslUtil Verifying QOP, requested QOP = > [auth-conf], negotiated QOP = auth-conf"} > o.a.h.h.p.d.sasl.DataTransferSaslUtil Creating IOStreamPair of > CryptoInputStream and CryptoOutputStream."} > o.a.h.h.p.d.sasl.DataTransferSaslUtil Creating IOStreamPair of > CryptoInputStream and CryptoOutputStream."} > o.apache.hadoop.util.PerformanceAdvisory No crypto codec classes with cipher > suite configured."} > o.apache.hadoop.util.PerformanceAdvisory No crypto codec classes with cipher > suite configured."} > org.apache.hadoop.hdfs.DFSClient DataStreamer Exception"} > java.lang.NullPointerException: null > at > org.apache.hadoop.crypto.CryptoInputStream.<init>(CryptoInputStream.java:132) > at > org.apache.hadoop.hdfs.protocol.datatransfer.sasl.DataTransferSaslUtil.createStreamPair(DataTransferSaslUtil.java:345) > at > org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.doSaslHandshake(SaslDataTransferClient.java:489) > at > org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.getEncryptedStreams(SaslDataTransferClient.java:298) > at > org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.send(SaslDataTransferClient.java:241) > at > org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.checkTrustAndSend(SaslDataTransferClient.java:210) > at > org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.socketSend(SaslDataTransferClient.java:182) > at > org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.createBlockOutputStream(DFSOutputStream.java:1409) > at > org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.nextBlockOutputStream(DFSOutputStream.java:1357) > at > org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.run(DFSOutputStream.java:587) > > Regards, > Suchithra > > From: Dian Fu <dian0511...@gmail.com> > Sent: Monday, October 28, 2019 5:40 PM > To: V N, Suchithra (Nokia - IN/Bangalore) <suchithra....@nokia.com> > Cc: user@flink.apache.org > Subject: Re: Flink 1.8.1 HDFS 2.6.5 issue > > It seems that the CryptoCodec is null from the exception stack trace. This > may occur when "hadoop.security.crypto.codec.classes.aes.ctr.nopadding" is > misconfigured. You could change the log level to "DEBUG" and it will show > more detailed information about why CryptoCodec is null. > > 在 2019年10月28日,下午7:14,V N, Suchithra (Nokia - IN/Bangalore) > <suchithra....@nokia.com <mailto:suchithra....@nokia.com>> 写道: > > Hi, > > I am trying to execute Wordcount.jar in Flink 1.8.1 with Hadoop version > 2.6.5. HDFS is enabled with Kerberos+SSL. While writing output to HDFS, > facing the below exception and job will be failed. Please let me know if any > suggestions to debug this issue. > > Caused by: org.apache.flink.runtime.client.JobExecutionException: Job > execution failed. > at > org.apache.flink.runtime.jobmaster.JobResult.toJobExecutionResult(JobResult.java:146) > at > org.apache.flink.client.program.rest.RestClusterClient.submitJob(RestClusterClient.java:265) > ... 21 more > Caused by: java.io.IOException: DataStreamer Exception: > at > org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.run(DFSOutputStream.java:695) > Caused by: java.lang.NullPointerException > at > org.apache.hadoop.crypto.CryptoInputStream.<init>(CryptoInputStream.java:132) > at > org.apache.hadoop.hdfs.protocol.datatransfer.sasl.DataTransferSaslUtil.createStreamPair(DataTransferSaslUtil.java:345) > at > org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.doSaslHandshake(SaslDataTransferClient.java:489) > at > org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.getEncryptedStreams(SaslDataTransferClient.java:298) > at > org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.send(SaslDataTransferClient.java:241) > at > org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.checkTrustAndSend(SaslDataTransferClient.java:210) > at > org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.socketSend(SaslDataTransferClient.java:182) > at > org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.createBlockOutputStream(DFSOutputStream.java:1409) > at > org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.nextBlockOutputStream(DFSOutputStream.java:1357) > at > org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.run(DFSOutputStream.java:587) > > Regards, > Suchithra