在向hdfs上傳文件的時候,報了這么一個錯:
Exception in thread "main" java.lang.RuntimeException: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.hdfs.server.namenode.SafeModeException): WARN hdfs.DataStreamer: Caught exception java.lang.InterruptedException at java.lang.Object.wait(Native Method) at java.lang.Thread.join(Thread.java:1252) at java.lang.Thread.join(Thread.java:1326) at org.apache.hadoop.hdfs.DataStreamer.closeResponder(DataStreamer.java:980) at org.apache.hadoop.hdfs.DataStreamer.endBlock(DataStreamer.java:630) at org.apache.hadoop.hdfs.DataStreamer.run(DataStreamer.java:807)
去官網上查找原因后,進入https://issues.apache.org/jira/browse/HDFS-10429查看
翻譯后的原因是:最初,datastreamer::closeresponder總是打印關於interruptedexception的警告;由於hdfs-9812,dfsoutputstream::closeimpl總是強制線程關閉,這會導致interruptedexception。
一個簡單的修復方法是使用調試級別的日志而不是警告級別。
不過要是自己覺得不太重要的話也可以忽略,因為我覺得可能是沒有按照官網要求的hdfs上傳標准進行上傳才報出的錯,不過要是修改的話就采用上述方法。