- 浏览: 1044593 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (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 958一网打尽当下NoSQL类型、适用场景及使用公司 http:// ... -
别样解释云计算,太TM天才跨界了
2014-02-25 09:41 2431http://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 2523http://www.srccodes.com/p/arti ... -
hadoop的超时设置
2013-06-23 11:47 2416from http://blog.163.com/zheng ... -
hadoop与panasas
2012-12-26 09:53 875在应用的场景中,hadoop当然希望使用全部的本地硬盘,但是对 ... -
程序开过多线程,导致hadoop作业无法运行成功
2012-10-23 16:14 7057Exception in thread "Threa ... -
mount盘异常,导致hadoop作业无法发送
2012-10-23 16:12 946异常信息 2012-10-23 21:10:42,18 ... -
hadoop常用的指令
2011-10-09 16:50 1698hadoop job -kill jobid 可以整个的杀掉 ... -
Hadoop基准测试
2011-08-08 10:04 1269http://www.michael-noll.com/ ... -
Hadoop Job Scheduler作业调度器
2011-05-21 11:02 2520http://hi.baidu.com/zhengxiang3 ... -
hadoop指定某个文件的blocksize,而不改变整个集群的blocksize
2011-03-20 17:20 2103文件上传的时候,使用下面的命令即可 hadoop f ... -
Hadoop Job Tuning
2011-02-28 15:53 811http://www.searchtb.com/2010/12 ... -
如何在不重启整个hadoop集群的情况下,增加新的节点
2011-02-25 10:12 13921.在namenode 的conf/slaves文件中增加新的 ... -
对hadoop task进行profiling的几种方法整理
2011-02-10 21:57 1647对hadoop task进行profiling的几种方法整 ... -
如何对hadoop作业的某个task进行debug单步跟踪
2011-02-10 21:56 2076http://blog.csdn.net/AE86_FC/ar ... -
hadoop 0.20 程式開發 eclipse plugin
2011-01-26 19:36 2252http://trac.nchc.org.tw/cloud/w ... -
hadoop-0.21.0-eclipse-plugin无法在eclipse中运行解决方案
2011-01-26 09:47 3592LINUX下将hadoop-0.21自带的hadoop ecl ... -
How to Benchmark a Hadoop Cluster
2011-01-19 22:15 2841How to Benchmark a Hadoop Clu ... -
json在线格式化
2010-12-21 16:23 2427http://jsonformatter.curiouscon ... -
Hadoop的mapred TaskTracker端源码概览
2010-11-14 11:24 1281http://jiwenke.iteye.com/blog/3 ...
相关推荐
HDFS是Hadoop分布式计算的存储基础。HDFS具有高容错性,可以部署在通用硬件设备上,适合数据密集型应用,并且提供对数据读写的高吞 吐量。HDFS能 够提供对数据的可扩展访问,通过简单地往集群里添加节点就可以解决...
**HDFS管理工具HDFS Explorer** HDFS Explorer是一款专为Windows平台设计的HDFS文件管理系统,它使得用户能够像操作本地文件系统一样便捷地管理和浏览Hadoop分布式文件系统(HDFS)。尽管官方已经停止更新此软件,...
Hadoop分布式文件系统(HDFS)是Apache Hadoop项目的核心组件之一,它为大数据处理提供了可靠的、可扩展的分布式存储解决方案。在这个“HDFS实例基本操作”中,我们将深入探讨如何在已经安装好的HDFS环境中执行基本...
HDFS 文件系统基本文件命令、编程读写 HDFS HDFS(Hadoop Distributed File System)是一种分布式文件系统,用于存储和管理大规模数据。它是 Hadoop 云计算平台的核心组件之一,提供了高效、可靠、可扩展的数据存储...
hdfs源码分析整理 在分布式文件系统中,HDFS(Hadoop Distributed File System)扮演着核心角色,而HDFS的源码分析则是深入了解HDFS架构和实现机理的关键。本文将对HDFS源码进行详细的分析和整理,涵盖了HDFS的目录...
【HDFS 透明加密KMS】是Hadoop分布式文件系统(HDFS)提供的一种安全特性,用于保护存储在HDFS中的数据,确保数据在传输和存储时的安全性。HDFS透明加密通过端到端的方式实现了数据的加密和解密,无需修改用户的应用...
### 大数据实验二-HDFS编程实践 #### 实验内容概览 本次实验的主要目标是通过对HDFS(Hadoop Distributed File System)的操作实践,加深学生对HDFS在Hadoop架构中的作用及其基本操作的理解。实验内容包括两大部分...
在大数据技术领域,Hadoop 分布式文件系统(HDFS)是核心组件之一,它为大规模数据存储提供了可扩展和高容错性的解决方案。本实验报告主要关注HDFS的常用操作命令,这些命令是管理员和数据分析师日常工作中不可或缺...
hdfs文件的查看 hdfs fs -cat /文件名
【标题】"hdfs-over-ftp安装包及说明"涉及的核心技术是将FTP(File Transfer Protocol)服务与HDFS(Hadoop Distributed File System)相结合,允许用户通过FTP协议访问和操作HDFS上的数据。这个标题暗示了我们将在...
HDFS Java API 详解 HDFS(Hadoop Distributed File System)是 Hadoop 项目中的一部分,是一个分布式文件系统。HDFS Java API 是一组 Java 类库,提供了一组接口来操作 HDFS。下面我们将对 HDFS Java API 进行详细...
HDFS基本命令 HDFS(Hadoop Distributed File System)是一种分布式文件系统,提供了对大规模数据的存储和管理能力。在HDFS中,基本命令是最基础也是最常用的命令,掌握这些命令是使用HDFS的基础。本节我们将详细...
第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 ...
在大数据处理领域,Hadoop HDFS(Hadoop Distributed File System)是核心组件之一,它提供了分布式存储的能力。本文将深入探讨HDFS的一些基本命令,帮助用户更好地管理和操作HDFS中的数据。 1. `appendToFile`命令...
Hadoop分布式文件系统(HDFS)就是一种典型的分布式存储系统,它是Hadoop项目的核心组件之一,适用于大规模数据集的存储。 HDFS的设计理念是以高容错性为目标,它假定硬件故障是常态而不是异常。因此,HDFS会自动地...
标题中的“MR处理HDFS日志样例”指的是使用MapReduce框架处理存储在Hadoop分布式文件系统(HDFS)上的日志数据。MapReduce是一种编程模型,由Google提出,广泛应用于大数据处理,尤其是在Hadoop生态系统中。在这个...
Hadoop分布式文件系统(HDFS)是Hadoop项目的核心子项目之一,它是一个高度容错性的系统,适合在廉价硬件上运行。HDFS提供了高吞吐量的数据访问,非常适合大规模数据集的应用。为了更好地管理和操作HDFS中的数据,...
在分布式计算领域,Hadoop Distributed File System(HDFS)是一个广泛使用的开源文件系统,它设计用于处理和存储大规模数据集。HDFS具有高容错性和高可扩展性,是大数据处理的重要基础设施。当我们需要将本地文件...
### HDFS实验手册知识点概述 #### 一、HDFS简介 HDFS(Hadoop Distributed File System)是Hadoop生态系统中的一个重要组成部分,它是一种分布式文件系统,设计用于在大量硬件上存储大量的数据集。HDFS的设计目标是...