Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Hdfs introduction

1,236 views

Published on

baidu hdfs原理科普ppt

Published in: Technology, Business
  • Be the first to comment

Hdfs introduction

  1. 1. HDFS 原理与实现 刘景龙 [email_address]
  2. 3. 为什么选择 Hadoop ? <ul><li>Need to process huge datasets on large clusters of computers </li></ul><ul><li>Very expensive to build reliability into each application. </li></ul><ul><li>Nodes fail every day </li></ul><ul><ul><li>f ailure is expected, rather than exceptional. </li></ul></ul><ul><ul><li>The number of nodes in a cluster is not constant. </li></ul></ul><ul><li>Need common infrastructure </li></ul><ul><ul><li>Efficient, reliable, easy to use </li></ul></ul><ul><ul><li>Open Source, Apache License </li></ul></ul>
  3. 4. Hadoop history:
  4. 5. 谁在用 Hadoop ?
  5. 6. 百度 hadoop 集群现状 <ul><li>Hadoop 集群规模 1w+ 台节点 </li></ul><ul><li>日平均处理数据为 8PB 左右 </li></ul><ul><li>最大的 hadoop 集群规模: 2800 台 </li></ul>
  6. 7. 百度如何使用 hadoop <ul><li>半线上 / 线下日志挖掘 </li></ul><ul><li>网页相关的线下大规模挖掘计算,包括 linkbase 的数据运算,索引库构建,网页库上的各种挖掘计算 </li></ul><ul><li>大规模机器学习算法 </li></ul>
  7. 8. HDFS 能做什么? <ul><li>存储并管理 PB 级数据 </li></ul><ul><li>自动处理节点失效和负载均衡 </li></ul><ul><li>针对高吞吐进行优化 </li></ul><ul><ul><li>数据本地化 </li></ul></ul><ul><ul><li>机架感知 </li></ul></ul>
  8. 9. HDFS 不适合做什么? <ul><li>存储小文件 ( 不建议使用 ) </li></ul><ul><li>大量的随机读 ( 不建议使用 ) </li></ul><ul><li>需要对文件的修改 ( 不支持 ) </li></ul>
  9. 10. HDFS 架构: Namenode Namespace Metadata & Journal Namespace Block Map Datanodes <ul><ul><li>Block ID  Data </li></ul></ul>Horizontally Scale IO and Storage <ul><ul><li>file  Block id </li></ul></ul>b1 b2 b3 b1 b5 b3 b3 b5 b2 b4 b5 b6 b2 b3 b4 Heartbeats & Block Reports <ul><ul><li>Block ID  Block Locations </li></ul></ul>
  10. 11. HDFS : namenode 数据结构
  11. 12. HDFS : 读写流程 Client Client Namenode 1 open 2 read 2 write 1 create write write Datanodes Namespace State Block Map End-to-end checksum b1 b2 b3 b1 b5 b3 b3 b5 b2 b4 b5 b6 b2 b3 b4
  12. 13. HDFS :副本分布 <ul><li>当前策略: </li></ul><ul><li>客户端从最近的副本进行读取 </li></ul>
  13. 14. HDFS :容错 Namenode Datanodes Bad/lost block replica Periodically check block checksums Namespace State Block Map b1 b2 b3 b1 b5 b3 b3 b5 b2 b4 b5 b6 b2 b3 b4 2. copy 3. blockReceived 1. replicate
  14. 15. HDFS :数据本地化 Data Data data data data data Data data data data data Data data data data data Data data data data data Data data data data data Data data data data data Data data data data data Data data data data data Data data data data data Data data data data data Data data data data data Data data data data data Results Data data data data Data data data data Data data data data Data data data data Data data data data Data data data data Data data data data Data data data data Data data data data Hadoop Cluster Block 1 Block 1 Block 2 Block 2 Block 2 Block 1 MAP MAP MAP Reduce Block 3 Block 3 Block 3
  15. 16. HDFS :接口 <ul><li>命令行 </li></ul><ul><li>C++ 接口 </li></ul><ul><li>Java 接口 </li></ul><ul><li>POSIX 接口 </li></ul><ul><li>Restful 接口 </li></ul>
  16. 17. HDFS 在路上 HDFS Peta1.0 Peta2.0
  17. 18. 可扩展性 Namenode 水平扩展 通过加机器解决文件数增加的问题 垂直扩展 内存存储热数据,冷数据磁盘存储
  18. 19. 可扩展性: 水平扩展
  19. 20. 可扩展性: 对象存储
  20. 21. 可扩展性:数据结构
  21. 22. 可扩展性: <ul><ul><li>文件数 10 亿 </li></ul></ul><ul><ul><li>节点数 1 万 </li></ul></ul><ul><ul><li>性能提高 10 倍 </li></ul></ul>
  22. 23. 可用性:元数据结构 <ul><li>持久化元数据 </li></ul><ul><ul><li>操作日志( edit log ) </li></ul></ul><ul><ul><ul><li>记录文件创建,删除,修改文件属性等操作 </li></ul></ul></ul><ul><ul><li>Fsimage </li></ul></ul><ul><ul><ul><li>包含完整的命名空间 </li></ul></ul></ul><ul><ul><ul><li>File -> Block 的映射关系 </li></ul></ul></ul><ul><ul><ul><li>文件的属性( ACL, quota, 修改时间等) </li></ul></ul></ul><ul><li>非持久化元数据 </li></ul><ul><ul><li>block map </li></ul></ul><ul><ul><ul><li>Block -> datanodes </li></ul></ul></ul>
  23. 24. 可用性
  24. 25. 可用性: <ul><li>Fail over 时间最长不超过 5 分钟 </li></ul><ul><li>集群的在线升级 </li></ul>
  25. 26. 未来的工作方向 <ul><li>用户透明压缩存储 </li></ul><ul><li>资源隔离 </li></ul><ul><li>实时性支持 </li></ul><ul><li>百亿文件系统 </li></ul><ul><li> 。。。 </li></ul>
  26. 27. 求助热线: <ul><li>邮件组: </li></ul><ul><ul><li>[email_address] </li></ul></ul><ul><li>Hi 群: </li></ul><ul><ul><li>1199411 </li></ul></ul><ul><li>文档园地: </li></ul><ul><ul><li>http://wiki.babel.baidu.com/twiki/bin/view/Com/Inf/Peta%E6%96%87%E6%A1%A3%E5%BB%BA%E8%AE%BE%E8%AE%A1%E5%88%92 </li></ul></ul>
  27. 28. Q & A Thanks

×