Hadoop Distributed File System( HDFS)
2014-11-11 10:37
573 查看
HDFS是Hadoop Distribute File System 的简称,也就是Hadoop的一个分布式文件系统。[/b]分布式文件系统就是管理网络计算机上存储的文件。基于网络存储和分布计算带来的挑战比传统的文件系统更加复杂,例如某个节点失败导致数据丢失的问题。
HDFS优点[/b]1. 成本很低。运行在普通廉价的服务器上。2. 线性增长。3. 自动数据冗余。
HDFS设计思想[/b]1. 硬件错误作为一种常态,因此要提供数据冗余。2. 流式数据读取。批量读取而非随机读写。3. 大规模的数据。
HDFS被设计用普通的机器组成的集群,按照流式数据读取的模式存储大型的文件。1. 非常大的文件, 意味着存储数百上千G,T级别的数据,现在hadoop集群能存储P级别的数据Byte --> KB --> MB --> GB --> TB --> PB --> EB --> ZB2. 最高效的访问模式是 一次写入、多次读取(流式数据访问)3. 运行在普通廉价的服务器上
HDFS基本概念[/b]数据块(block)是每次读或写的数据量,传统的单硬盘块大小是512 bytes, HDFS是64M。可以减少查询的时间。NameNode 用来保存文件树和元数据,以name space image和edit log的形式在本地保存起来DataNode 用来保存数据,和client master交互来提取数据
由于单点的master带来的问题是如果namenode当机,所有的文件会丢失因为分布式系统不知道如何从多个datanode组织文件。第一种解决方法是备份元数据文件,可以备份到本地或者远程的机器上去,所有的备份操作都是同步和原子化的。第二种解法方法是运行secondary namenode, 用来合并namespace image和edit log, 目的是创建check point
HDFS架构[/b]
Rack 是指机柜的意思,一个block的三个副本通常会保存到两个或者两个以上的机柜中(当然是机柜中的服务器),这样做的目的是做防灾容错,因为发生一个机柜掉电或者一个机柜的交换机挂了的概率还是蛮高的。
NameNode:[/b]1. 管理文件系统的命名空间2. 记录数据块在datanode上和副本上的位置3. 协调客户端对文件的访问
DataNode:[/b]1. 负责所在物理节点的存储管理
HDFS读写流程[/b]
HDFS常用的shell command[/b]
hadoop fs -cat file:///file3 /user/hadoop/file4
Takes path uri's as argument and creates directories. The behavior is much like unix mkdir -p creating parent directories along the path.Example:hadoop fs -mkdir /user/hadoop/dir1 /user/hadoop/dir2
Hadoop 0.18常用的shell: http://hadoop.apache.org/docs/r0.18.3/hdfs_shell.html
HDFS优点[/b]1. 成本很低。运行在普通廉价的服务器上。2. 线性增长。3. 自动数据冗余。
HDFS设计思想[/b]1. 硬件错误作为一种常态,因此要提供数据冗余。2. 流式数据读取。批量读取而非随机读写。3. 大规模的数据。
HDFS被设计用普通的机器组成的集群,按照流式数据读取的模式存储大型的文件。1. 非常大的文件, 意味着存储数百上千G,T级别的数据,现在hadoop集群能存储P级别的数据Byte --> KB --> MB --> GB --> TB --> PB --> EB --> ZB2. 最高效的访问模式是 一次写入、多次读取(流式数据访问)3. 运行在普通廉价的服务器上
HDFS基本概念[/b]数据块(block)是每次读或写的数据量,传统的单硬盘块大小是512 bytes, HDFS是64M。可以减少查询的时间。NameNode 用来保存文件树和元数据,以name space image和edit log的形式在本地保存起来DataNode 用来保存数据,和client master交互来提取数据
由于单点的master带来的问题是如果namenode当机,所有的文件会丢失因为分布式系统不知道如何从多个datanode组织文件。第一种解决方法是备份元数据文件,可以备份到本地或者远程的机器上去,所有的备份操作都是同步和原子化的。第二种解法方法是运行secondary namenode, 用来合并namespace image和edit log, 目的是创建check point
HDFS架构[/b]
Rack 是指机柜的意思,一个block的三个副本通常会保存到两个或者两个以上的机柜中(当然是机柜中的服务器),这样做的目的是做防灾容错,因为发生一个机柜掉电或者一个机柜的交换机挂了的概率还是蛮高的。
NameNode:[/b]1. 管理文件系统的命名空间2. 记录数据块在datanode上和副本上的位置3. 协调客户端对文件的访问
DataNode:[/b]1. 负责所在物理节点的存储管理
HDFS读写流程[/b]
HDFS常用的shell command[/b]
cat
Usage: hadoop fs -cat URI [URI …]Copies source paths to stdout.Example:hadoop fs -cat hdfs://nn1.example.com/file1 hdfs://nn2.example.com/file2hadoop fs -cat file:///file3 /user/hadoop/file4
copyFromLocal
Usage: hadoop fs -copyFromLocal <localsrc> URISimilar to put command, except that the source is restricted to a local file reference.copyToLocal
Usage: hadoop fs -copyToLocal [-ignorecrc] [-crc] URI <localdst>Similar to get command, except that the destination is restricted to a local file reference.ls
Usage: hadoop fs -ls <args>hadoop fs -ls /user/hadoop/file1mkdir
Usage: hadoop fs -mkdir <paths>Takes path uri's as argument and creates directories. The behavior is much like unix mkdir -p creating parent directories along the path.Example:hadoop fs -mkdir /user/hadoop/dir1 /user/hadoop/dir2
Hadoop 0.18常用的shell: http://hadoop.apache.org/docs/r0.18.3/hdfs_shell.html
相关文章推荐
- Indexing and Searching on a Hadoop Distributed File System (如何在HDFS文件上建索引)
- Hadoop Distributed File System (HDFS)
- High Availability for the Hadoop Distributed File System (HDFS)
- Hadoop Distributed File System 简介HDFS 是一个 Apache Software Foundation 项目,是 Apache Hadoop 项目的一个子项目(参见
- Hadoop Distributed FileSystem (HDFS) Architectural Documentation - Overview
- HDFS(Hadoop Distributed File System )
- HDFS(Hadoop Distributed File System)简介
- HDFS(Hadoop distributed filesystem)和KFS (Kosmos distributed filesystem)比较
- HDFS分布式文件系统(The Hadoop Distributed File System)
- HDFS(Hadoop Distributed File System )常用命令示例:
- Hadoop ->> HDFS(Hadoop Distributed File System)
- 利用 hadoop 的 FileSystem copyFromLocalFile 方法实现文件上传HDFS中 Hadoop 版本 2.7.0
- HDFS体系结构:(Distributed File System)
- Hadoop Distributed File System 简介
- Hadoop Distributed File System
- 利用 Hadoop FileSystem listStatus 遍历文件目录 实现HDFS操作
- About hadoop hdfs filesystem rename
- Hadoop Distributed File System
- eclipse连接hadoop报错Error:No FileSystem for scheme:hdfs
- HDFS中DistributedFileSystem的创建