- 浏览: 1048693 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (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 968一网打尽当下NoSQL类型、适用场景及使用公司 http:// ... -
别样解释云计算,太TM天才跨界了
2014-02-25 09:41 2440http://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 2539http://www.srccodes.com/p/arti ... -
hadoop的超时设置
2013-06-23 11:47 2429from http://blog.163.com/zheng ... -
hadoop与panasas
2012-12-26 09:53 882在应用的场景中,hadoop当然希望使用全部的本地硬盘,但是对 ... -
程序开过多线程,导致hadoop作业无法运行成功
2012-10-23 16:14 7065Exception in thread "Threa ... -
mount盘异常,导致hadoop作业无法发送
2012-10-23 16:12 956异常信息 2012-10-23 21:10:42,18 ... -
hadoop常用的指令
2011-10-09 16:50 1702hadoop job -kill jobid 可以整个的杀掉 ... -
Hadoop基准测试
2011-08-08 10:04 1277http://www.michael-noll.com/ ... -
Hadoop Job Scheduler作业调度器
2011-05-21 11:02 2526http://hi.baidu.com/zhengxiang3 ... -
hadoop指定某个文件的blocksize,而不改变整个集群的blocksize
2011-03-20 17:20 2108文件上传的时候,使用下面的命令即可 hadoop f ... -
Hadoop Job Tuning
2011-02-28 15:53 818http://www.searchtb.com/2010/12 ... -
如何在不重启整个hadoop集群的情况下,增加新的节点
2011-02-25 10:12 14051.在namenode 的conf/slaves文件中增加新的 ... -
对hadoop task进行profiling的几种方法整理
2011-02-10 21:57 1654对hadoop task进行profiling的几种方法整 ... -
如何对hadoop作业的某个task进行debug单步跟踪
2011-02-10 21:56 2080http://blog.csdn.net/AE86_FC/ar ... -
hadoop 0.20 程式開發 eclipse plugin
2011-01-26 19:36 2258http://trac.nchc.org.tw/cloud/w ... -
hadoop-0.21.0-eclipse-plugin无法在eclipse中运行解决方案
2011-01-26 09:47 3600LINUX下将hadoop-0.21自带的hadoop ecl ... -
How to Benchmark a Hadoop Cluster
2011-01-19 22:15 2849How to Benchmark a Hadoop Clu ... -
json在线格式化
2010-12-21 16:23 2434http://jsonformatter.curiouscon ... -
Hadoop的mapred TaskTracker端源码概览
2010-11-14 11:24 1289http://jiwenke.iteye.com/blog/3 ...
相关推荐
HDFS是Hadoop分布式计算的存储基础。HDFS具有高容错性,可以部署在通用硬件设备上,适合数据密集型应用,并且提供对数据读写的高吞 吐量。HDFS能 够提供对数据的可扩展访问,通过简单地往集群里添加节点就可以解决...
实验项目名为“实战 HDFS”,旨在深入理解和熟练运用Hadoop分布式文件系统(HDFS)。HDFS是Apache Hadoop的核心组件,它为大数据处理提供高容错性、高吞吐量的存储解决方案。实验目的是通过一系列操作,让学生全面...
**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编程实践 #### 实验内容概览 本次实验的主要目标是通过对HDFS(Hadoop Distributed File System)的操作实践,加深学生对HDFS在Hadoop架构中的作用及其基本操作的理解。实验内容包括两大部分...
【HDFS 透明加密KMS】是Hadoop分布式文件系统(HDFS)提供的一种安全特性,用于保护存储在HDFS中的数据,确保数据在传输和存储时的安全性。HDFS透明加密通过端到端的方式实现了数据的加密和解密,无需修改用户的应用...
【标题】"hdfs-over-ftp安装包及说明"涉及的核心技术是将FTP(File Transfer Protocol)服务与HDFS(Hadoop Distributed File System)相结合,允许用户通过FTP协议访问和操作HDFS上的数据。这个标题暗示了我们将在...
标题中的“基于spring-boot和hdfs的网盘.zip”表明这是一个使用Spring Boot框架构建的网盘应用,它集成了Hadoop分布式文件系统(HDFS)。这个应用可能允许用户存储、检索和管理他们的文件在分布式环境中的存储。让...
在大数据技术领域,Hadoop 分布式文件系统(HDFS)是核心组件之一,它为大规模数据存储提供了可扩展和高容错性的解决方案。本实验报告主要关注HDFS的常用操作命令,这些命令是管理员和数据分析师日常工作中不可或缺...
hdfs文件的查看 hdfs fs -cat /文件名
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的基础。本节我们将详细...
### 向HDFS上传Excel文件 #### 背景 在大数据处理场景中,经常需要将Excel文件上传到Hadoop分布式文件系统(HDFS)中进行进一步的数据处理或分析。然而,由于HDFS本身并不直接支持Excel文件格式,通常的做法是先将...
第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`命令...
Apache HDFS Broker详解 在大数据处理领域,Apache HDFS(Hadoop Distributed File System)是分布式存储的核心组件,它为大规模数据处理提供了可靠的、可扩展的存储解决方案。`apache_hdfs_broker`可能是一个针对...
Hadoop分布式文件系统(HDFS)就是一种典型的分布式存储系统,它是Hadoop项目的核心组件之一,适用于大规模数据集的存储。 HDFS的设计理念是以高容错性为目标,它假定硬件故障是常态而不是异常。因此,HDFS会自动地...
《HDFS客户端工具详解——轻松实现Windows与HDFS的数据交互》 在大数据处理领域,Hadoop分布式文件系统(HDFS)扮演着至关重要的角色。它为海量数据存储提供了可靠的解决方案,而HDFS客户端工具则是连接Windows操作...