SlideShare uma empresa Scribd logo
1 de 29
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

Mais conteúdo relacionado

Mais procurados

分布式存储的元数据设计
分布式存储的元数据设计分布式存储的元数据设计
分布式存储的元数据设计LI Daobing
 
MongoDB gridfs
MongoDB gridfsMongoDB gridfs
MongoDB gridfsXue Wei
 
易度云查看 - 产品介绍
易度云查看 - 产品介绍易度云查看 - 产品介绍
易度云查看 - 产品介绍changxing qi
 
Hbase架构简介、实践
Hbase架构简介、实践Hbase架构简介、实践
Hbase架构简介、实践Li Map
 
“云存储系统”赏析系列分享三:Sql与nosql
“云存储系统”赏析系列分享三:Sql与nosql“云存储系统”赏析系列分享三:Sql与nosql
“云存储系统”赏析系列分享三:Sql与nosqlknuthocean
 
Cephfs架构解读和测试分析
Cephfs架构解读和测试分析Cephfs架构解读和测试分析
Cephfs架构解读和测试分析Yang Guanjun
 
Google LevelDB Study Discuss
Google LevelDB Study DiscussGoogle LevelDB Study Discuss
Google LevelDB Study Discusseverestsun
 
Memcached vs redis
Memcached vs redisMemcached vs redis
Memcached vs redisqianshi
 
Hdfs原理及实现
Hdfs原理及实现Hdfs原理及实现
Hdfs原理及实现baggioss
 
Leveldb background
Leveldb backgroundLeveldb background
Leveldb background宗志 陈
 
高性能队列Fqueue的设计和使用实践
高性能队列Fqueue的设计和使用实践高性能队列Fqueue的设计和使用实践
高性能队列Fqueue的设计和使用实践孙立
 
Spark sql培训
Spark sql培训Spark sql培训
Spark sql培训Jiang Yu
 
Hacking Nginx at Taobao
Hacking Nginx at TaobaoHacking Nginx at Taobao
Hacking Nginx at TaobaoJoshua Zhu
 
Exadata那点事
Exadata那点事Exadata那点事
Exadata那点事freezr
 
Buffer pool implementaion inno db vs oracle
Buffer pool implementaion inno db vs oracleBuffer pool implementaion inno db vs oracle
Buffer pool implementaion inno db vs oraclefrogd
 

Mais procurados (20)

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

Destaque

task of lighnting
task of lighntingtask of lighnting
task of lighntingsahnaz35
 
JobTracker Memory Leak Solution
JobTracker  Memory Leak SolutionJobTracker  Memory Leak Solution
JobTracker Memory Leak Solutionjiang yu
 
Ss客户端使用详解
Ss客户端使用详解Ss客户端使用详解
Ss客户端使用详解jiang yu
 
Proposal project
Proposal projectProposal project
Proposal projectxi50585327
 
lighting_diemnsions
lighting_diemnsionslighting_diemnsions
lighting_diemnsionssahnaz35
 
21st century business communication
21st century business communication21st century business communication
21st century business communicationswatts2
 

Destaque (6)

task of lighnting
task of lighntingtask of lighnting
task of lighnting
 
JobTracker Memory Leak Solution
JobTracker  Memory Leak SolutionJobTracker  Memory Leak Solution
JobTracker Memory Leak Solution
 
Ss客户端使用详解
Ss客户端使用详解Ss客户端使用详解
Ss客户端使用详解
 
Proposal project
Proposal projectProposal project
Proposal project
 
lighting_diemnsions
lighting_diemnsionslighting_diemnsions
lighting_diemnsions
 
21st century business communication
21st century business communication21st century business communication
21st century business communication
 

Semelhante a Hdfs

Ted yu:h base and hoya
Ted yu:h base and hoyaTed yu:h base and hoya
Ted yu:h base and hoyahdhappy001
 
Use Alluxio to Unify Storage Systems in Suning
Use Alluxio to Unify Storage Systems in SuningUse Alluxio to Unify Storage Systems in Suning
Use Alluxio to Unify Storage Systems in SuningAlluxio, Inc.
 
HDFS-In-Cloud
HDFS-In-CloudHDFS-In-Cloud
HDFS-In-CloudLei Xu
 
云梯的多Namenode和跨机房之路
云梯的多Namenode和跨机房之路云梯的多Namenode和跨机房之路
云梯的多Namenode和跨机房之路li luo
 
Zh tw introduction_to_hadoop and hdfs
Zh tw introduction_to_hadoop and hdfsZh tw introduction_to_hadoop and hdfs
Zh tw introduction_to_hadoop and hdfsTrendProgContest13
 
百度系统部分布式系统介绍 马如悦 Sacc2010
百度系统部分布式系统介绍 马如悦 Sacc2010百度系统部分布式系统介绍 马如悦 Sacc2010
百度系统部分布式系统介绍 马如悦 Sacc2010Chuanying Du
 
Bypat博客出品-服务器运维集群方法总结2
Bypat博客出品-服务器运维集群方法总结2Bypat博客出品-服务器运维集群方法总结2
Bypat博客出品-服务器运维集群方法总结2redhat9
 
Hdfs raid migration to hadoop 1.x
Hdfs raid migration to hadoop 1.x Hdfs raid migration to hadoop 1.x
Hdfs raid migration to hadoop 1.x Jiang Yu
 
HDFS與MapReduce架構研討
HDFS與MapReduce架構研討HDFS與MapReduce架構研討
HDFS與MapReduce架構研討Billy Yang
 
Docker初识
Docker初识Docker初识
Docker初识hubugui
 
4, files & folders
4, files & folders4, files & folders
4, files & foldersted-xu
 
Hdfs introduction
Hdfs introductionHdfs introduction
Hdfs introductionbaggioss
 
開放原始碼 Ch2.4 app - oss - db (ver 1.0)
開放原始碼 Ch2.4   app - oss - db (ver 1.0)開放原始碼 Ch2.4   app - oss - db (ver 1.0)
開放原始碼 Ch2.4 app - oss - db (ver 1.0)My own sweet home!
 
DRBL-live-hadoop at TSLC
DRBL-live-hadoop at TSLCDRBL-live-hadoop at TSLC
DRBL-live-hadoop at TSLCYu-Chin Tsai
 
Introduction to big data
Introduction to big dataIntroduction to big data
Introduction to big dataYuHsuan Chen
 
Hadoop-分布式数据平台
Hadoop-分布式数据平台Hadoop-分布式数据平台
Hadoop-分布式数据平台Jacky Chi
 

Semelhante a Hdfs (20)

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

Último

EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptx
EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptxEDUC6506(001)_ClassPresentation_2_TC330277 (1).pptx
EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptxmekosin001123
 
泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书
泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书
泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书jakepaige317
 
educ6506presentationtc3302771-240427173057-06a46de5.pptx
educ6506presentationtc3302771-240427173057-06a46de5.pptxeduc6506presentationtc3302771-240427173057-06a46de5.pptx
educ6506presentationtc3302771-240427173057-06a46de5.pptxmekosin001123
 
哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制
哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制
哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制jakepaige317
 
EDUC6506_ClassPresentation_TC330277 (1).pptx
EDUC6506_ClassPresentation_TC330277 (1).pptxEDUC6506_ClassPresentation_TC330277 (1).pptx
EDUC6506_ClassPresentation_TC330277 (1).pptxmekosin001123
 
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...黑客 接单【TG/微信qoqoqdqd】
 
中国文学, 了解王安石变法,熙宁变法,熙盛变法- 中国古代改革的类型- 富国强兵,
中国文学, 了解王安石变法,熙宁变法,熙盛变法- 中国古代改革的类型- 富国强兵,中国文学, 了解王安石变法,熙宁变法,熙盛变法- 中国古代改革的类型- 富国强兵,
中国文学, 了解王安石变法,熙宁变法,熙盛变法- 中国古代改革的类型- 富国强兵,Xin Yun Teo
 

Último (7)

EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptx
EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptxEDUC6506(001)_ClassPresentation_2_TC330277 (1).pptx
EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptx
 
泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书
泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书
泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书
 
educ6506presentationtc3302771-240427173057-06a46de5.pptx
educ6506presentationtc3302771-240427173057-06a46de5.pptxeduc6506presentationtc3302771-240427173057-06a46de5.pptx
educ6506presentationtc3302771-240427173057-06a46de5.pptx
 
哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制
哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制
哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制
 
EDUC6506_ClassPresentation_TC330277 (1).pptx
EDUC6506_ClassPresentation_TC330277 (1).pptxEDUC6506_ClassPresentation_TC330277 (1).pptx
EDUC6506_ClassPresentation_TC330277 (1).pptx
 
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...
 
中国文学, 了解王安石变法,熙宁变法,熙盛变法- 中国古代改革的类型- 富国强兵,
中国文学, 了解王安石变法,熙宁变法,熙盛变法- 中国古代改革的类型- 富国强兵,中国文学, 了解王安石变法,熙宁变法,熙盛变法- 中国古代改革的类型- 富国强兵,
中国文学, 了解王安石变法,熙宁变法,熙盛变法- 中国古代改革的类型- 富国强兵,
 

Hdfs