- 浏览: 1026280 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (538)
- 奇文共赏 (36)
- spring (13)
- hibernate (10)
- AOP/Aspectj (9)
- spring security (7)
- lucence (5)
- compass (3)
- jbmp (2)
- jboss rule(drools) (0)
- birt (1)
- jasper (1)
- cxf (3)
- flex (98)
- webgis (6)
- 设计模式 (1)
- 代码重构 (2)
- log4j (1)
- tomcat (9)
- 神品音乐 (1)
- 工作计划 (2)
- appfuse (1)
- svn (4)
- 寻章摘句 (3)
- eclipse (10)
- arcgis api for flex (1)
- 算法 (5)
- opengis-cs (1)
- bug心得 (13)
- 图标 (1)
- software&key (14)
- java (17)
- 搞笑视频 (13)
- sqlserver (9)
- postgresql (1)
- postgis (0)
- geoserver (5)
- 日子 (50)
- 水晶报表 (1)
- 绝对电影 (3)
- Alternativa3D (1)
- 酷站大全 (10)
- c++ (5)
- oracle (17)
- oracle spatial (25)
- flashbuilder4 (3)
- TweenLite (1)
- DailyBuild (6)
- 华山论贱 (5)
- 系统性能 (5)
- 经典古文 (6)
- SOA/SCA/OSGI (6)
- jira (2)
- Hadoop生态圈(hadoop/hbase/pig/hive/zookeeper) (37)
- 风水 (1)
- linux操作基础 (17)
- 经济 (4)
- 茶 (3)
- JUnit (1)
- C# dotNet (1)
- netbeans (1)
- Java2D (1)
- QT4 (1)
- google Test/Mock/AutoTest (3)
- maven (1)
- 3d/OSG (1)
- Eclipse RCP (3)
- CUDA (1)
- Access control (0)
- http://linux.chinaunix.net/techdoc/beginner/2008/01/29/977725.shtml (1)
- redis (1)
最新评论
-
dove19900520:
朋友,你确定你的标题跟文章内容对应???
tomcat控制浏览器不缓存 -
wussrc:
我只想说牛逼,就我接触过的那点云计算的东西,仔细想想还真是这么 ...
别样解释云计算,太TM天才跨界了 -
hw_imxy:
endpoint="/Hello/messagebr ...
flex+java代码分两个工程 -
gaohejie:
rsrsdgrfdh坎坎坷坷
Flex 与 Spring 集成 -
李涤尘:
谢谢。不过说得有点太罗嗦了。
Oracle数据库数据的导入及导出(转)
http://fenriswolf.me/2012/04/04/hdfs-quota-%E8%A8%AD%E5%AE%9A/
在多人共用的狀況下,quota 的設定非常重要。尤其是在 Hadoop 處理大量資料的環境,不小心就容易把所有的空間用完造成別人無法存取
Hadoop quota 的設定是針對目錄,而不是針對帳號。所以在管理上最好讓每個帳號只能寫入某一個目錄(例如 /user/fenriswolf),然後對各別目錄加上 quota 設定
設定方式有兩種
- Name Quotas : 等於 ulimit 裡的 hard limit,也就是設定某個目錄下檔案及目錄的總數
- Space Quotas : 設定某個目錄下使用的空間大小
預設是沒有任何 quota 限制的,可以用 hadoop fs -count 來看
1 |
hadoop fs -count -q /user/fenriswolf |
以下是結果,none 及 inf 表示沒有設定
1 |
QUOTA REMAINING_QUOTA SPACE_QUOTA REMAINING_SPACE_QUOTA DIR_COUNT FILE_COUNT CONTENT_SIZE FILE_NAME |
2 |
none inf none inf 6 15 2598367 hdfs://localhost:9000/user/fenriswolf |
1. Name Quotas
計算公式為
QUOTA – (DIR_COUNT + FILE_COUNT) = REMAINING_QUOTA
設定方式,這裡的 10000 是指 DIR_COUNT + FILE_COUNT = 10000
最大值為 Long.Max_Value
1 |
hadoop dfsadmin -setQuota 10000 /user/fenriswolf/ |
用 hadoop fs -count 來看現在的設定
1 |
QUOTA REMAINING_QUOTA SPACE_QUOTA REMAINING_SPACE_QUOTA DIR_COUNT FILE_COUNT CONTENT_SIZE FILE_NAME |
2 |
10000 9000 none inf 60 940 45343100 hdfs://localhost:9000/user/fenriswolf |
如果要寫入的檔案數已經超過設定值會看到下面的錯誤訊息
1 |
put: org.apache.hadoop.hdfs.protocol.NSQuotaExceededException: The NameSpace quota (directories and files) of directory /user/fenriswolf is exceeded: quota=10000 file count=10001 |
清除設定
1 |
hadoop dfsadmin -clrQuota /user/fenriswolf/ |
2. Space Quotas
計算公式為
SPACE_QUOTA – CONTENT_SIZE = REMAINING_SPACE_QUOTA
設定方式,這裡的 1g 是指 1GB,可用 m, g, t 來代表 MB, GB, TB
1 |
hadoop dfsadmin -setSpaceQuota 1g /user/fenriswolf/ |
這裡要特別注意的是,space quota 的設定所看的不是上傳的檔案大小,是寫入 HDFS 的所有 block size
假設一個檔案要寫入 2 個 blocks,在 core-site.xml 裡設定 dfs.block.size 為 64MB,dfs.replication 為 3
那所需要的空間為 2 x 64MB x 3 = 384MB
還有一件另人困擾的地方是,就算只存入一個小檔案,例如 1KB,實際寫入 HDFS 並不會占滿整個 block
但 Hadoop 的 validation rule 仍然是用 1 x 64MB x 3 = 192MB 的方式去做計算
用 hadoop fs -count 來看現在的設定
1 |
QUOTA REMAINING_QUOTA SPACE_QUOTA REMAINING_SPACE_QUOTA DIR_COUNT FILE_COUNT CONTENT_SIZE FILE_NAME |
2 |
10000 9000 1073741824 1028398724 60 940 45343100 hdfs://localhost:9000/user/fenriswolf |
如果要寫入的檔案數已經超過設定值會看到下面的錯誤訊息
01 |
12/03/19 05:44:51 ERROR hdfs.DFSClient: Exception closing file /user/fenriswolf/hive/lib/py/queryplan/ttypes.py : org.apache.hadoop.hdfs.protocol.DSQuotaExceededException: org.apache.hadoop.hdfs.protocol.DSQuotaExceededException: The DiskSpace quota of /user/fenriswolf is exceeded: quota=1073741824 diskspace consumed=1.5g |
02 |
org.apache.hadoop.hdfs.protocol.DSQuotaExceededException: org.apache.hadoop.hdfs.protocol.DSQuotaExceededException: The DiskSpace quota of /user/fenriswolf is exceeded: quota=1073741824 diskspace consumed=1.5g |
03 |
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
|
04 |
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
|
05 |
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
|
06 |
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
|
07 |
at org.apache.hadoop.ipc.RemoteException.instantiateException(RemoteException.java:95)
|
08 |
at org.apache.hadoop.ipc.RemoteException.unwrapRemoteException(RemoteException.java:57)
|
09 |
at org.apache.hadoop.hdfs.DFSClient$DFSOutputStream.locateFollowingBlock(DFSClient.java:3558)
|
10 |
at org.apache.hadoop.hdfs.DFSClient$DFSOutputStream.nextBlockOutputStream(DFSClient.java:3421)
|
11 |
at org.apache.hadoop.hdfs.DFSClient$DFSOutputStream.access$2100(DFSClient.java:2627)
|
12 |
at org.apache.hadoop.hdfs.DFSClient$DFSOutputStream$DataStreamer.run(DFSClient.java:2822)
|
清除設定
1 |
hadoop dfsadmin -clrSpaceQuota /user/fenriswolf/ |
4. 其他
Quota 的設定是跟著目錄走的,目錄如果改名字設定依然會存在
麻煩的是,設定之後如果超過限制,雖然檔案寫不進 HDFS,但是檔案名稱卻已經存在,只是 size 為 0。造成加大 quota 還要先把已存在的檔案砍掉才能再寫入
另外如果設定的 quota 值小於該目錄既存的 Name Quotas 及 Space Quotas 並不會出錯
例如
1 |
hadoop dfsadmin -setQuota 100 /user/fenriswolf |
只是從 hadoop fs -count 會看到 REMAINING_QUOTA 變負值,當然也就無法再寫資料進去
1 |
QUOTA REMAINING_QUOTA SPACE_QUOTA REMAINING_SPACE_QUOTA DIR_COUNT FILE_COUNT CONTENT_SIZE FILE_NAME |
2 |
100 -900 1073741824 1028398724 60 940 45343100 hdfs://localhost:9000/user/fenriswolf |
執行環境
CentOS 6.2
JDK 1.6.0_31
Cloudera CDH3U3
<!--EndFragment-->
发表评论
-
一网打尽当下NoSQL类型、适用场景及使用公司
2014-12-28 20:56 910一网打尽当下NoSQL类型、适用场景及使用公司 http:// ... -
别样解释云计算,太TM天才跨界了
2014-02-25 09:41 2386http://mp.weixin.qq.com/s?__bi ... -
Build, Install, Configure and Run Apache Hadoop 2.2.0 in Microsoft Windows OS
2013-12-09 11:17 2424http://www.srccodes.com/p/arti ... -
hadoop的超时设置
2013-06-23 11:47 2385from http://blog.163.com/zheng ... -
hadoop与panasas
2012-12-26 09:53 844在应用的场景中,hadoop当然希望使用全部的本地硬盘,但是对 ... -
程序开过多线程,导致hadoop作业无法运行成功
2012-10-23 16:14 7025Exception in thread "Threa ... -
mount盘异常,导致hadoop作业无法发送
2012-10-23 16:12 915异常信息 2012-10-23 21:10:42,18 ... -
hadoop常用的指令
2011-10-09 16:50 1666hadoop job -kill jobid 可以整个的杀掉 ... -
Hadoop基准测试
2011-08-08 10:04 1225http://www.michael-noll.com/ ... -
Hadoop Job Scheduler作业调度器
2011-05-21 11:02 2478http://hi.baidu.com/zhengxiang3 ... -
hadoop指定某个文件的blocksize,而不改变整个集群的blocksize
2011-03-20 17:20 2068文件上传的时候,使用下面的命令即可 hadoop f ... -
Hadoop Job Tuning
2011-02-28 15:53 785http://www.searchtb.com/2010/12 ... -
如何在不重启整个hadoop集群的情况下,增加新的节点
2011-02-25 10:12 13431.在namenode 的conf/slaves文件中增加新的 ... -
对hadoop task进行profiling的几种方法整理
2011-02-10 21:57 1618对hadoop task进行profiling的几种方法整 ... -
如何对hadoop作业的某个task进行debug单步跟踪
2011-02-10 21:56 2041http://blog.csdn.net/AE86_FC/ar ... -
hadoop 0.20 程式開發 eclipse plugin
2011-01-26 19:36 2218http://trac.nchc.org.tw/cloud/w ... -
hadoop-0.21.0-eclipse-plugin无法在eclipse中运行解决方案
2011-01-26 09:47 3552LINUX下将hadoop-0.21自带的hadoop ecl ... -
How to Benchmark a Hadoop Cluster
2011-01-19 22:15 2802How to Benchmark a Hadoop Clu ... -
json在线格式化
2010-12-21 16:23 2388http://jsonformatter.curiouscon ... -
Hadoop的mapred TaskTracker端源码概览
2010-11-14 11:24 1254http://jiwenke.iteye.com/blog/3 ...
相关推荐
HDFS是Hadoop分布式计算的存储基础。HDFS具有高容错性,可以部署在通用硬件设备上,适合数据密集型应用,并且提供对数据读写的高吞 吐量。HDFS能 够提供对数据的可扩展访问,通过简单地往集群里添加节点就可以解决...
windows平台下的HDFS文件浏览器,就像windows管理器一样管理你的hdfs文件系统。现在官网已经停止更新这款软件。具体配置如下: HDFS配置页面及端口http://master:50070 配置HDFS服务器 配置WebHDFS HDFS Explorer...
hdfs文件的查看 hdfs fs -cat /文件名
第1章 HDFS 1 1.1 HDFS概述 1 1.1.1 HDFS体系结构 1 1.1.2 HDFS基本概念 2 1.2 HDFS通信协议 4 1.2.1 Hadoop RPC接口 4 1.2.2 流式接口 20 1.3 HDFS主要流程 22 1.3.1 HDFS客户端读流程 22 1.3.2 ...
在安装好HDFS的前提下,此项目包含HDFS的基本操作,上传,下载,创建文件夹等。
A.2实验二:熟悉常用的HDFS操作 本实验对应第4章的内容。 A.2.1 实验目的 (1)理解 HDFS在Hadoop体系结构中的角色。(2)熟练使用HDFS操作常用的 Shell命令。(3)熟悉HDFS操作常用的Java API。 A.2.2 实验平台 (1)操作...
MR处理HDFS日志样例
Hadoop分布式文件系统( HDFS )是一种旨在在商品硬件上运行的分布式文系统。它与现有的分布式文件系统许多相似之处。 但是,与其他分布式文件系统的区别很明显。 HDFS 具有高度的容错能力,旨在部署低成本硬件上。 ...
HDFS测试环境配置文件,稳定运行无异常,分享给大家学习参考用;
文档详细的讲述了Hadoop中HDFS文件操作命令和HDFS编程
hdfs 文件的上传,hdfs fs -put /文件名
适合刚接触hadoop的学生或小白,内容包括HDFS shell操作及HDFS Java API编程 有图片有代码
1. 分布式文件系统与HDFS 2. HDFS 的shell 操作 3. HDFS 体系结构与基本概念 4 HDFS 的web 接口 5. HDFS 的java 访问接口 6. HDFS 的RPC 机制 7. NameNode 的接口分析 8. DataNode 的接口分析 9. HDFS 的写数据过程...
赠送jar包:hadoop-hdfs-client-2.9.1.jar; 赠送原API文档:hadoop-hdfs-client-2.9.1-javadoc.jar; 赠送源代码:hadoop-hdfs-client-2.9.1-sources.jar; 赠送Maven依赖信息文件:hadoop-hdfs-client-2.9.1.pom;...
hdfs文件的下载
hdfs文件传输调优,hdfs文件传输调优 hdfs文件传输调优
14、HDFS 透明加密KMS 网址:https://blog.csdn.net/chenwewi520feng/article/details/130429278 本文旨在简单介绍hdfs的透明加密作用及其使用。 前提依赖:hadoop环境部署好且可用。部署文章可参考本专栏相关文章。...
hdfs远程操作工具HDFS+Explorer.hdfs
本文档记录了为hadoop的hdfs配置kerberos的过程,hadoop用的版本是2.4.1。其中有一些作者的个人经验,希望对读者有帮助。
HDFS基本命令