Hive:org.apache.hadoop.hdfs.protocol.NSQuotaExceededException: The NameSpace quota (directories and files) of directory /mydir is exceeded: quota=100000 file count=100001
- 集群中遇到了文件个数超出限制的错误:
0)昨天晚上spark 任务突然抛出了异常:org.apache.hadoop.hdfs.protocol.NSQuotaExceededException: The NameSpace quota (directories and files) of directory /mydir is exceeded: quota=100000 file count=100001
1)错误提示内容信息:集群中遇到了文件个数超出限制的错误。
2)问题错误来自于hadoop quota设置了限制,但是设置限制的目的是避免集群中有过多的小文件,导致集群利用率不高的情况出现。
我这个spark job主要处理的任务内容:
var conf=new SparkConf().setAppName("test_job")
var sc=new SparkContext(conf)
var hiveContext=new HiveContext(sc)
import hiveContext.implicits._
hiveContext.sql("insert into member_info select t10.*,t11.* from member as t10 inner join member_details as t11 on t10.id=t11.memberid");
- 关于hadoop quota的信息:
hadoop HDFS有以下两种Quota
Name Quotas : 限制某个目录下的文件数量
Space Quotas : 设置某个目录的空间大小 $hadoop fs -count -q /user/hadoop
QUOTA REMAINING_QUOTA SPACE_QUOTA REMAINING_SPACE_QUOTA DIR_COUNT FILE_COUNT CONTENT_SIZE FILE_NAME
none inf none inf 2 1 180 /user/hadoop
清除Space Quota
$hadoop dfsadmin -clrSpaceQuota /user/hadoop
设置Name Quota
设置文件最大quota是1000
$hadoop dfsadmin -setQuota 1000 /user/hadoop $hadoop fs -count -q /user/hadoop
QUOTA REMAINING_QUOTA SPACE_QUOTA REMAINING_SPACE_QUOTA DIR_COUNT FILE_COUNT CONTENT_SIZE FILE_NAME
1000 997 1073741824 1073741284 2 1 180 /user/hadoop
清除Name Quota
$hadoop dfsadmin -clrQuato /user/hadoop
- 如何避免集群中过多小文件出现的方法:
hive下可以通过以下几点去限制:
1)文件合并
set hive.merge.mapredfiles = true #在Map-Reduce的任务结束时合并小文件
set hive.merge.size.per.task = 128000000 #合并文件的大小
set hive.merge.smallfiles.avgsize=128000000 #当输出文件的平均大小小于该值时,启动一个独立的map-reduce任务进行文件merge
2)Map输入合并小文件
set mapred.max.split.size=256000000; #每个Map最大输入大小
set mapred.min.split.size.per.node=100000000; #一个节点上split的至少的大小
set mapred.min.split.size.per.rack=100000000; #一个交换机下split的至少的大小
set hive.input.format=org.apache.hadoop.hive.ql.io.CombineHiveInputFormat; #执行Map前进行小文件合并
3)输出合并
set hive.merge.mapfiles = true #在Map-only的任务结束时合并小文件
set hive.merge.mapredfiles = true #在Map-Reduce的任务结束时合并小文件
set hive.merge.size.per.task = 256000000 #合并文件的大小
set hive.merge.smallfiles.avgsize=256000000 #当输出文件的平均大小小于该值时,启动一个独立的map-reduce任务进行文件merge
spark job下可以这么设置
//重分区,减少文件数
val trade_company_df_save=trade_company_df.repartition(1)
trade_company_df_save.registerTempTable("trade_company_df");
- 参考文章:
http://nlslzf.iteye.com/blog/1617239
http://wenku.baidu.com/link?url=6dxklmJNF6XTFot4zlzt-_d_UXTcoPQzuATtnQil7M9My_3g_0NYJ5mx4K7tEj1jwq6KywUoBWvgPBbMkz9s7TSfCmYT_xLNZAuZRFWk36_
Hive:org.apache.hadoop.hdfs.protocol.NSQuotaExceededException: The NameSpace quota (directories and files) of directory /mydir is exceeded: quota=100000 file count=100001的更多相关文章
- hadoop fs -put上传文件失败,WARN org.apache.hadoop.hdfs.server.datanode.DataNode: Problem connecting to server: master:8020
hadoop fs -put上传文件失败 报错信息:(test文件夹是已经成功建好的) [root@master ~]# hadoop fs -put test1.txt /test // :: WA ...
- org.apache.hadoop.hdfs.server.namenode.SafeModeException: Cannot create directory /user/hive/warehouse/page_view. Name node is in safe mode
FAILED: Error in metadata: MetaException(message:Got exception: org.apache.hadoop.ipc.RemoteExceptio ...
- HADOOP HA 踩坑 - org.apache.hadoop.hdfs.qjournal.protocol.JournalNotFormattedException: Journal Storage Directory /mnt/data1/hadoop/dfs/journal/hdfscluster not formatted
报错:在journalnode的log中: org.apache.hadoop.hdfs.qjournal.protocol.JournalNotFormattedException: Journal ...
- 启动HDFS之后一直处于安全模式org.apache.hadoop.hdfs.server.namenode.SafeModeException: Log not rolled. Name node is in safe mode.
一.现象 三台机器 crxy99,crxy98,crxy97(crxy99是NameNode+DataNode,crxy98和crxy97是DataNode) 按正常命令启动HDFS之后,HDFS一直 ...
- Hadoop程序运行中的Error(1)-Error: org.apache.hadoop.hdfs.BlockMissingException
15/03/18 09:59:21 INFO mapreduce.Job: Task Id : attempt_1426641074924_0002_m_000000_2, Status : FAIL ...
- hadoop错误FATAL org.apache.hadoop.hdfs.server.namenode.NameNode Exception in namenode join java.io.IOException There appears to be a gap in the edit log
错误: FATAL org.apache.hadoop.hdfs.server.namenode.NameNode Exception in namenode join java.io.IOExcep ...
- org.apache.hadoop.hdfs.server.datanode.DataNode: Exception in receiveBlock for block
Hbase依赖的datanode日志中如果出现如下报错信息:DataXceiverjava.io.EOFException: INFO org.apache.hadoop.hdfs.server.da ...
- HDFS超租约异常总结(org.apache.hadoop.hdfs.server.namenode.LeaseExpiredException)
HDFS超租约异常总结(org.apache.hadoop.hdfs.server.namenode.LeaseExpiredException) 转载 2014年02月22日 14:40:58 96 ...
- Datanode启动问题 FATAL org.apache.hadoop.hdfs.server.datanode.DataNode: Initialization failed for Block pool <registering>
-- ::, INFO org.apache.hadoop.hdfs.server.datanode.DataNode: supergroup = supergroup -- ::, INFO org ...
随机推荐
- c++2008 并行配置文件和获取字典的所有key的方法
1 需要 在官网 下载对应的执行包... 2, # !/usr/bin/python3.4 # -*- coding: utf-8 -*- b = { 'video':0, 'music':23 } ...
- keyCode,charCode,which
1.触发顺序keydown keypress keyup,但keypress事件只有输入相关按键才会触发,功能按键不会触发keypress事件(keypress事件有个额外的charCode属性) 2 ...
- onDestroy 和 onBackPressed、onfinish 的区别
在android 开发中, 我容易不区分 onDestroy .onBackpress.onFinish. 其实,可以这样理解: (1)onDestory 的使用,是销毁了activity的实例在内存 ...
- JavaScript使用接口
在经典的Java面向对象语言中,可以用关键字interface来定义接口,用implement来实现接口,而JavaScript虽然也是面向对象语言,但是它并没有内置这些,不过由于JavaScript ...
- C# WinForm 慎用 override CreateParams 来重载窗体的一些特性
窗体和控件的属性CreateParams(这真的是一个属性)很神奇,因为通过它你能够很方便的控制窗体或控件诸如边框.最大化最小化关闭按钮的隐藏.窗体的模式化弹窗模式等的一些特性.虽然,CreatePa ...
- ArrayList 实现删除重复元素(元素为对象类型)
package 集合; import java.util.ArrayList;import java.util.Iterator; /* * 删除集合中的重复的元素(元素是对象形式的) * * Li ...
- Odoo Graph 指定默认 类型
<graph string='Sale Paid Grapg' type="pivot"> <field name='section_id' type=" ...
- html()、text()、val()、innerHTML、value()的区分
以上的方法可用于一般的html标签(div)与input中分别进行讨论 1.html(): jQuery方法,用于一般标签中,可读写,可以获得写入html标签. 2.text(): jQuery方法, ...
- php 跨服务器ftp移动文件
$ftp_server = "120.25.1.1";$ftp_user_name = "p1111";$ftp_user_pass = "psa12 ...
- Select Option
jQuery获取Select元素,并选择的Text和Value: 1. $("#select_id").change(function(){//code...}); //为Sele ...