- 博客(17)
- 收藏
- 关注
原创 hadoop dfsadmin -refreshNodes 命令详解
dfs.hosts 文件完整路径:列出了允许连入NameNode的datanode清单(IP或者机器名) dfs.hosts.exclude 文件完整路径:列出了禁止连入NameNode的datanode清单(IP或者机器名) hadoop dfsadmin -refreshNodes 这个命令可以动态刷新dfs.hosts和dfs.hosts.
2009-11-19 09:33:00 14813 2
原创 hadoop dfsadmin -safemode 命令详解
safemode模式NameNode在启动的时候首先进入安全模式,如果datanode丢失的block达到一定的比例(1-dfs.safemode.threshold.pct),则系统会一直处于安全模式状态即只读状态。 hadoop dfsadmin -safemode leave有两个方法离开这种安全模式 1. 修改dfs.safemode.threshold.pct
2009-11-19 09:14:00 7540
原创 hadoop dfsadmin -report 命令详解
hadoop dfsadmin -report 用这个命令可以快速定位出哪些节点down掉了,HDFS的容量以及使用了多少,以及每个节点的硬盘使用情况。 当然NameNode有个http页面也可以查询,但是这个命令的输出更适合我们的脚本监控dfs的使用状况Configured Capacity: 77209395855360 (70.22 TB)Present Capaci
2009-11-18 10:16:00 24246 2
原创 hadoop fsck 命令详解
hadoop fsck Usage: DFSck [-move | -delete | -openforwrite] [-files [-blocks [-locations | -racks]]] 检查这个目录中的文件是否完整 -move 破损的文件移至/lost+found目录 -del
2009-11-18 09:18:00 29696
原创 HDFS的副本放置策略(机架感知 rack awareness)
topology.script.file.name HDFS不能够自动判断集群中各个datanode的网络拓扑情况。这种机架感知需要topology.script.file.name属性定义的可执行文件(或者脚本)来实现,文件提供了IP->rackid的翻译。NameNode通过这个得到集群中各个datanode机器的rackid。如果topology.script.file.name
2009-11-17 10:40:00 16382 2
原创 HDFS写文件解析
我们看一下创建文件,写文件最后关闭文件的流程。如下图: 1. client通过调用DistributedFileSystem的create方法来创建文件。 2. DistributedFileSystem通过RPC调用NameNode在文件系统的名字空间里创建一个文件,这个时候还没有任何block信息。DistributedFileSystem返回FSDataOu
2009-11-17 09:13:00 6955 4
原创 HDFS读文件解析
下图描述了在文件读过程中,client、NameNode和DataNode三者之间是如何互动的。 1. client调用get方法得到HDFS文件系统的一个实例(DistributedFileSystem)。然后调用它的open方法。 2. DistributedFileSystem通过RPC远程调用NameNode决定文件文件的block的位置信息。对于每一个b
2009-11-16 10:28:00 5117
原创 HDFS的Java访问接口
得到filesystem的实例 有两个静态方法可以得到filesystem接口的实例 public static FileSystem get(Configuration conf) throws IOException public static FileSystem get(URI uri, Configuration conf) throws IOException
2009-11-16 09:32:00 6628
原创 不仅是HDFS,Hadoop支持多种文件系统
org.apache.hadoop.fs.FileSystem 这个抽象类代表hadoop的一个文件系统,目前系统已经有很多个具体实现: 文件系统 URI前缀 hadoop的具体实现类 Local file fs.LocalFileSystem H
2009-11-13 11:15:00 10113
原创 HDFS的文件访问控制
HDFS对文件和目录的访问控制模型和Linux也很相似。 HDFS有三种权限类型:读(r),写(w),执行(x)。读写权限和一般的文件系统类似,HDFS忽略对于文件的执行权限,用户一定要 拥有对目录的x权限才能访问目录的文件或者子目录。 每个文件或者目录都有一个mode,owner,group。下面的命令列出了用户目录(ls命令后面不带任何信息表示用户目录)下的目录和文件信息
2009-11-13 10:35:00 7019 1
原创 HDFS命令行接口
fs.default.name 这个属性设定Hadoop缺省的文件系统。参数是个URI的格式。例如:hdfs://192.168.10.4:54310。 NameNode进程按照这个参数启动IPC服务。IPC是Hadoop跨机器通信机制,通过IPC客户端直接调用服务器类的某个方法,屏蔽了复杂的socket通信和协议转换。 对于命令行接口这个属性设定了客户端缺省连接的
2009-11-13 09:54:00 4659
原创 HDFS的健壮性(容错处理)
磁盘错误,心跳和重新备份每个datanode周期性发送心跳信息给namenode。网络中断可能会导致一批datanode连不上namenode。namenode检测到一段时间没有上报心跳后,把这个datanode标识为dead,不再分配新的io请求给它。在这个datanode上的所有数据都不能访问了,这就会导致一些block的备份数量会少于指定的值。namenode会经常检查block备份数量
2009-11-12 10:16:00 6201 1
原创 HDFS的元数据持久化
dfs.name.dir 这个参数设置HDFS的元数据信息存放在本地操作系统的目录,如果有多个目录用逗号分开。目录里的文件示例见下图 1049092 2009-11-12 09:15 edits 17678000 2009-11-12 08:50 fsimage 8 2009-11-12 08:50 fstim
2009-11-12 09:12:00 7416
原创 数据备份
bolck备份HDFS设计为大文件提供可靠存储。每个文件被分割为一系列的block,每个block都有相同的大小(64M),除了最后一个。为了容灾,文件的block会有备份,备份的个数可以由上传者指定,缺省是3。 block信息上报namenode周期性(缺省为一小时)的收到来自datanode的bolck上报信息,namenode如果判断某个文件的bolck备份有丢失,会产生一
2009-11-11 11:47:00 2858
原创 NameNode 和 DataNode
主从结构 HDFS是一个 master/slave的架构。HDFS只有一个NameNode,即master。master负责管理文件系统命名空间和client对文件的访问。此外,HDFS有很多DataNode,通常一个机器节点一个DataNode,管理这个节点上的存储。HDFS对外提供一个文件系统名字空间允许用户把数据存为文件的格式 文件按block划分文件拆分成若干个block,
2009-11-11 11:31:00 7487
原创 HDFS简介
HDFS是构建在PC硬件之上的分布式文件系统,非常适合需要访问海量数据的应用。它和现有的分布式系统最大的区别是:高容错性和低成本。HDFS主要为了实现以下目标: 1) 硬件错误 一个典型HDFS可能包括成白上千台机器,每台机器存储一部分的数据。每台机器都有出错的可能,导致HDFS总会有些机器处于不工作的状态。因此检测失败和快速恢复数据是HDFS的核心架构目
2009-11-10 12:49:00 5515
原创 Hadoop简介
Hadoop是一个分布式计算基础设施,它包含一系列相关的子项目,这些项目都隶属于Apache软件基金会(ASF)。ASF为这些开源社区项目提供支持。Hadoop里最著名的是MapReduce和分布式文件系统(HDFS),其他的子系统提供了一些附加功能,或者在core上增加了一些高级的抽象。 Core 分布式系统和通用IO组件和接口(序列化,Java 远程过程调用等等)。
2009-11-10 12:42:00 7570 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人