HDFS 原理及使用介绍

     江宇
HDFS
•   HDFS 简介
•   HDFS 架构
•   HDFS 使用
•   Use case
•   HDFS内部结构
•   Q&A及其它
HDFS 简介
HDFS 简介
HDFS 简介
•   开源的GFS的部分实现
•   Master/slave 架构
•   部署在低廉的计算机集群中
•   高容错性
•   Semi-POSIX
•   Unix-like permission, ugi
•   对Batch处理的优化,不适用于low latency
•   新浪的版本0.20.203, 1.0.2(scribe接收)
HDFS 简介
• Streaming data access
• Batch processing rather than ineractive user
  access
• Write once, read many times
• Large files
• 适用场景:日志挖掘,大规模机器学习,
  爬虫建立索引
HDFS 简介
• HDFS不适用的场景
  ---存储小文件
  ---大量的随机读
  ---需要对文件进行修改(不支持)
HDFS 架构
HDFS 架构
HDFS 使用接口
• Shell 命令:hadoop fs –cmd
  cat chgrp chmod chown copyFromLocal copyToLocal cp du, dus expunge
  get getmerge ls, lsr mkdir movefromLocal mv put rm rmr setrep stat tail
  test text touchz
HDFS 使用接口
• Thrift 接口 :可扩展的,跨语言的服务框架
 – 启动Hadoop集群
 – 启动thrift server
   ($HADOOP_HOME/src/contrib/thriftfs/scripts/
   start_thrift_server.sh)
 – 将相应语言的gen-*拷贝至client
 – Client引用相应接口,关注于业务实现
HDFS 使用接口
• FUSE接口:Filesystem in Userspace 能够将用
  户空间挂在到Linux上使用
HDFS 使用接口
• 其它HDFS接口
  HTTP FTP
HDFS 使用接口
• 原生的JAVA 接口 write:
HDFS 使用接口
• Read
HDFS 使用接口
• 注意的问题
  seek是一个耗时的操作,尽量顺序读
  再用完后关闭输入输出流,加finally异常处
理
  write支持append
Use Case
• Map-reduce
• 云存储
• Stream log (Scribe)
HDFS 内部结构
• INode:用来存放文件及目录的基本信息,包括名称,
  父节点,修改时间,访问时间,ugi等
• INodeFile:继承自Inode,还包括文件对应的Block列
  表,复制数等
• INodeDirectory:继承自Inode,还包括有Inode列表组成
  的文件或目录树结构
• Block(BlockInof):文件物理存储的抽象,包括有
  blockId,size以及时间戳等
• BlocksMap:保存block到Inode和DataNode的映射
• FSImage:保存文件系统的整个目录树
• FSEditlog:操作日志
NameNode 作用
• 负责 NameSpace ,两大主要内存结构
  Inode,BlockMap
• Inode map file blocks (固化FSImage)
• BlocksMap map blocksDatanode(每次集群
  启动汇报)
• 所有的元数据都在内存中
NameNode 作用
• 元数据包含:
   ---List of files
   ---List of Blocks for each file
   ---List of DataNodes for each block
   ---File attributes, e.g creation time, replication
factor
   ---namespace attributes, needed replication
excess replication, under replication
   ---FSImage, FSEditlog
DataNode 作用
• DataNode作用
  ---Block Server ,存储数据,存储meta-data 如CRC,
  blockId与底层物理存储的映射
  ---与client rpc连接,传输或接收数据
  ---与NameNode rpc连接,周期性的发送block report,
  把所有的Blocks向namenode汇报(默认1小时)
  ---与NameNode rpc连接,heartbeat,从NameNode获取
  cmd(默认3s)
  ---与其它DataNode建立pipeline
Block存放策略
• 目前的策略是
  ---第一份副本放在本地node
  ---第二份副本放在不同机架的node上
  ---第三份副本放在与第二个相同机架的不
同node上
  ---多余三份副本任意

 client读取最近node上的数据
写流程
写流程
写流程
写流程
读流程
其它
Q&A




THANKS

More Related Content

PPTX
Ftn存储设计
PDF
1.4 go在数据存储上面的应用—毛剑
PPTX
Redis介绍
PPT
Redis 常见使用模式分析
PDF
NoSQL误用和常见陷阱分析
PDF
redis 适用场景与实现
PDF
Ceph中国社区9.19 Ceph FS-基于RADOS的高性能分布式文件系统02-袁冬
PDF
Redis介绍
Ftn存储设计
1.4 go在数据存储上面的应用—毛剑
Redis介绍
Redis 常见使用模式分析
NoSQL误用和常见陷阱分析
redis 适用场景与实现
Ceph中国社区9.19 Ceph FS-基于RADOS的高性能分布式文件系统02-袁冬
Redis介绍

What's hot (20)

PDF
分布式存储的元数据设计
PDF
Mesos intro
PPTX
MongoDB SHARE
PPT
MongoDB gridfs
PDF
易度云查看 - 产品介绍
PDF
Hbase架构简介、实践
PDF
Ceph perf-tunning
PPTX
“云存储系统”赏析系列分享三:Sql与nosql
PDF
Cephfs架构解读和测试分析
PDF
Ceph intro
PDF
Google LevelDB Study Discuss
PDF
Level db
PPTX
Memcached vs redis
PPTX
Hdfs原理及实现
PDF
Leveldb background
PPTX
高性能队列Fqueue的设计和使用实践
PDF
Spark sql培训
PDF
Hacking Nginx at Taobao
PPTX
Exadata那点事
PDF
Buffer pool implementaion inno db vs oracle
分布式存储的元数据设计
Mesos intro
MongoDB SHARE
MongoDB gridfs
易度云查看 - 产品介绍
Hbase架构简介、实践
Ceph perf-tunning
“云存储系统”赏析系列分享三:Sql与nosql
Cephfs架构解读和测试分析
Ceph intro
Google LevelDB Study Discuss
Level db
Memcached vs redis
Hdfs原理及实现
Leveldb background
高性能队列Fqueue的设计和使用实践
Spark sql培训
Hacking Nginx at Taobao
Exadata那点事
Buffer pool implementaion inno db vs oracle
Ad

Viewers also liked (6)

PDF
task of lighnting
PDF
JobTracker Memory Leak Solution
PDF
Ss客户端使用详解
PPTX
Proposal project
PDF
lighting_diemnsions
PPTX
21st century business communication
task of lighnting
JobTracker Memory Leak Solution
Ss客户端使用详解
Proposal project
lighting_diemnsions
21st century business communication
Ad

Similar to Hdfs (20)

PDF
Ted yu:h base and hoya
PDF
Use Alluxio to Unify Storage Systems in Suning
PDF
HDFS-In-Cloud
PPTX
云梯的多Namenode和跨机房之路
PDF
Zh tw introduction_to_hadoop and hdfs
PPTX
Hdfs
PPTX
Hdfs
PDF
Ubuntu
PDF
百度系统部分布式系统介绍 马如悦 Sacc2010
PDF
Bypat博客出品-服务器运维集群方法总结2
PDF
Hdfs raid migration to hadoop 1.x
PPTX
HDFS與MapReduce架構研討
PDF
Docker初识
PPTX
4, files & folders
PPT
Hdfs introduction
PPTX
開放原始碼 Ch2.4 app - oss - db (ver 1.0)
PDF
DRBL-live-hadoop at TSLC
PPTX
Introduction to big data
PDF
Hadoop-分布式数据平台
PPT
Dfs ning
Ted yu:h base and hoya
Use Alluxio to Unify Storage Systems in Suning
HDFS-In-Cloud
云梯的多Namenode和跨机房之路
Zh tw introduction_to_hadoop and hdfs
Hdfs
Hdfs
Ubuntu
百度系统部分布式系统介绍 马如悦 Sacc2010
Bypat博客出品-服务器运维集群方法总结2
Hdfs raid migration to hadoop 1.x
HDFS與MapReduce架構研討
Docker初识
4, files & folders
Hdfs introduction
開放原始碼 Ch2.4 app - oss - db (ver 1.0)
DRBL-live-hadoop at TSLC
Introduction to big data
Hadoop-分布式数据平台
Dfs ning

Recently uploaded (20)

PPTX
学校原版百年理工学院毕业证Centennial毕业证原版一比一
PPTX
学校原版阿斯顿大学毕业证Aston毕业证原版一比一
PPTX
学校原版加州大学戴维斯分校毕业证UCD毕业证原版一比一
PPTX
学校原版伦敦城市大学毕业证London Met毕业证原版一比一
DOC
ATU毕业证学历认证,伍赛斯特大学毕业证毕业证书样本
PPTX
学校原版布鲁内尔大学毕业证Brunel毕业证原版一比一
PDF
修辭手法Chinese as a first language (traditional version).pdf
PPTX
学校原版纽布伦斯威克大学毕业证UNB毕业证原版一比一
PPTX
学校原版南澳大学毕业证UniSA毕业证原版一比一
PPTX
学校原版达尔豪斯大学毕业证Dal毕业证原版一比一
PPTX
学校原版汤姆逊河大学毕业证TRU毕业证原版一比一
PPTX
学校原版韩国建国大学毕业证建大毕业证原版一比一
PPTX
学校原版班戈大学毕业证Bangor毕业证原版一比一
PPTX
学校原版阿什里奇商学院毕业证Ashridge毕业证原版一比一
PPTX
学校原版剑桥大学毕业证Cantab毕业证原版一比一
PPTX
学校原版布里斯托大学毕业证Bristol毕业证原版一比一
PPTX
学校原版汤普森河大学毕业证TRU毕业证原版一比一
PPTX
学校原版克莱姆森大学毕业证Clemson毕业证原版一比一
PPTX
学校原版堪萨斯大学毕业证UKansas毕业证原版一比一
PPTX
学校原版韩国延世大学毕业证Yonsei毕业证原版一比一
学校原版百年理工学院毕业证Centennial毕业证原版一比一
学校原版阿斯顿大学毕业证Aston毕业证原版一比一
学校原版加州大学戴维斯分校毕业证UCD毕业证原版一比一
学校原版伦敦城市大学毕业证London Met毕业证原版一比一
ATU毕业证学历认证,伍赛斯特大学毕业证毕业证书样本
学校原版布鲁内尔大学毕业证Brunel毕业证原版一比一
修辭手法Chinese as a first language (traditional version).pdf
学校原版纽布伦斯威克大学毕业证UNB毕业证原版一比一
学校原版南澳大学毕业证UniSA毕业证原版一比一
学校原版达尔豪斯大学毕业证Dal毕业证原版一比一
学校原版汤姆逊河大学毕业证TRU毕业证原版一比一
学校原版韩国建国大学毕业证建大毕业证原版一比一
学校原版班戈大学毕业证Bangor毕业证原版一比一
学校原版阿什里奇商学院毕业证Ashridge毕业证原版一比一
学校原版剑桥大学毕业证Cantab毕业证原版一比一
学校原版布里斯托大学毕业证Bristol毕业证原版一比一
学校原版汤普森河大学毕业证TRU毕业证原版一比一
学校原版克莱姆森大学毕业证Clemson毕业证原版一比一
学校原版堪萨斯大学毕业证UKansas毕业证原版一比一
学校原版韩国延世大学毕业证Yonsei毕业证原版一比一

Hdfs