首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >the directory item limit is exceed: limit=1048576问题的解决

the directory item limit is exceed: limit=1048576问题的解决

作者头像
sparkexpert
发布于 2018-01-09 15:52:27
发布于 2018-01-09 15:52:27
2.7K0
举报

当spark流式数据分析处理跑了一段时间之后,突然会出现报错,如下:

意思就是目录超过了HDFS的文件个数限制。

然而这个问题网上真的不太好找,在定位一番之后,终于明确就是HDFS本身的容量限制问题,而这个正常在配置里面是没有的,只有新增加一行配置才能生效,否则就是按照默认的1048576来处理。

代码语言:js
复制
<property>
   <name>dfs.namenode.fs-limits.max-directory-items</name>
   <value>1048576</value>
   <description>Defines the maximum number of items that a directory may
       contain. Cannot set the property to a value less than 1 or more than
       6400000.</description>
 </property>

把这个配置添加到hdfs-site.xml中,把值设置为大一些,问题搞定。

不过在此也存在一个问题,这个HDFS的限制有个范围,最多不能超过6400000,因此后续还要考虑到历史数据的删除。

做大数据就是各种坑。在数据不多的时候还真不好发现。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016年07月07日,如有侵权请联系 cloudcommunity@tencent.com 删除
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档