生产上部署了HDFS 2.7.4,最近遇到了一些异常,记录下来备忘:
一、dfs.datanode.directoryscan.throttle.limit.ms.per.sec
DataNode运行一段时间后,报如下异常:
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,增加如下配置
<property> <name>dfs.datanode.directoryscan.throttle.limit.ms.per.sec</name> <value>1000</value> </property>
重启HDFS后,问题解决。
二、DataXceiver error processing WRITE_BLOCK operation
DataNode运行一段时间后,报如下异常:
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,增加如下配置
<property> <name>dfs.datanode.max.transfer.threads</name> <value>8192</value> </property>
重启HDFS后,问题解决。