hadoop datanode下線錯誤記錄

昨天往HBase傳數據,今早發現hadoop的有一個節點掛掉了,查看其log文件發現多數報錯是這樣的:

 ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: spark3:50010:DataXceiver error processing WRITE_BLOCK operation  src: /192.168.123.78:58872 dst: /192.168.123.78:50010
java.io.IOException: Premature EOF from inputStream

 

 

還有之前日誌中的錯誤,今天發現的:

 ERROR org.apache.hadoop.hdfs.server.datanode.DirectoryScanner: dfs.datanode.directoryscan.throttle.limit.ms.per.sec set to value below 1 ms/sec. Assuming default value of 1000
 

 

這兩個問題在這篇博客中都找到了:

https://www.cnblogs.com/liugh/p/9016576.html

生產上部署了HDFS 2.7.4,最近遇到了一些異常,記錄下來備忘:

一、dfs.datanode.directoryscan.throttle.limit.ms.per.sec

DataNode運行一段時間後,報如下異常:

1

ERROR org.apache.hadoop.hdfs.server.datanode.DirectoryScanner: dfs.datanode.directoryscan.throttle.limit.ms.per.sec set to value below 1 ms/sec. Assuming default value of 1000

谷歌了一下,發現是一個Bug:

https://issues.apache.org/jira/browse/HDFS-9274

解決方案:

編輯hdfs-site.xml,增加如下配置

1

2

3

4

<property>

  <name>dfs.datanode.directoryscan.throttle.limit.ms.per.sec</name>

  <value>1000</value>

</property>

重啓HDFS後,問題解決。

二、DataXceiver error processing WRITE_BLOCK operation

DataNode運行一段時間後,報如下異常:

1

ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: xxxxxx:50010:DataXceiver error processing WRITE_BLOCK operation  src: /aaaaaa:58294 dst: /bbbbbb:50010

谷歌了一下,發現需要修改數據傳輸線程個數。

解決方案:

編輯hdfs-site.xml,增加如下配置

1

2

3

4

<property>

  <name>dfs.datanode.max.transfer.threads</name>

  <value>8192</value>

</property>

重啓HDFS後,問題解決。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章