内容纲要
概要描述
本文讲述region server突然挂掉,日志报错FSLimitException$MaxDirectoryItemsExceededException的解决方案。
详细说明
问题描述:
大数据平台正常运行,但所有的Region Server突然都not running,查看日志目录/var/log/hyperbase1,发现hbase-hbase-master-.log在短时间内刷了很多日志:

查看日志hbase-hbase-master-.log,报错
FSLimitException$MaxDirectoryItemsExceededException): The directory item limit of /hyperbase1/MasterProcWALs is exceeded: limit=1048576 items=1048576
如下图:

解决方案:
1、在HDFS中增加/修改参数dfs.namenode.fs-limits.max-directory-items为更大的值,大于报错中limit值。该值定义了一个目录最大的item数。

注:
设置该值的设置范围为:[1-6400000],否则会触发非法参数的报错:
java.lang.IllegalArgumentException: Cannot set dfs.namenode.fs-limits.max-directory-items to a value less than 1 or greater than 6400000
如下图:

2、HDFS配置服务,重启。
待HDFS配置服务后,Region Server会自动启动。如果没有自动启动成功,再手动启动。