Hadoop之HDFS的概念及用法

1、概念介绍

  Hadoop是Apache旗下的一个项目。他由HDFS、MapReduce、Hive、HBase和ZooKeeper等成员组成。

  HDFS是一个高度容错的分布式文件系统。他能够提高吞吐量的数据访问,适合存储海量的大文件。

  HDFS由四部分构成:HDFS client、NameNode、DataNode、Secondary NameNode。

 各组件概念:
  1、HDFS client

2、NameNode

  用于维护集群内元数据,也就是保存文件存储位置,集群存储方式为一个大文件存储在多个服务器中,而且为了维护健壮性,一个文件有多个备份,这些备份位置都需要存储在NameNode中。

。。。待编辑

a

sdf

2、操作(此版本为Hadoop2.7,网上说的另一种editlog和fsimage的存储方式为更早版本

  a) 启动HDFS

    从fsimage文件中读取元数据信息到内存中。

  b) 读文件

    1. 扫描HDFS中的元素据信息。客户端访问NameNode,NameNode把DataNode存放数据的位置等信息(存储的元数据信息),从内存中取来。

    2. 客户端下载文件。客户端根据NameNode提供的元数据信息,与DataNode简历RPC通信,进行IO操作。

  c) 写文件

    1. 客户端与NameNode建立通信。判断存储空间的剩余量,判断所存放的文件的存放分布方式。

    2. NameNode元数据信息落盘。生成一个editlog文件,保存元数据信息和元数据的操作。

    3. 客户端与DadaNode建立通信。进行IO操作

  d) NameNode数据固化

    NameNode在空闲的时候,会把editlog中的元数据信息和操作信息,合并到fsimage(二进制信息,读写快速)文件中。

    每次HDFS启动时,NameNode都会把未合并到fsimage中的数据信息,合并过去。

    SecondartNameNode通过RPC通信,把editlog中的元数据信息和操作信息,合并到fsimage文件中,并推送给NameNode。

最新文章

  1. 【网络】VPN
  2. javascript eval函数解析json数据时为什加上圆括号eval("("+data+")")
  3. 在CentOS 6.4中编译安装gcc 4.8.1
  4. Selenium Grid Configuration
  5. CSS语法与用法小字典
  6. 20145129 《Java程序设计》第4周学习总结
  7. 剑指Offer35 两个链表第一个公共结点
  8. android service总结
  9. win2003 sp2+iis 6.0上部署.net 2.0和.net 4.0网站的方法
  10. Codeforces Round #313 A Currency System in Geraldion
  11. 关于knob.js进度插件的使用
  12. jsp提交表单问题
  13. 【JAVAWEB学习笔记】05_jQuery基础
  14. ssm maven spring AOP读写分离
  15. Linux之vi编辑器
  16. linux系统下saltstack的安装和配置
  17. jsp (2)
  18. Learning-Python【23】:面向对象三大特性
  19. TI 开发板安装USB转串口驱动
  20. [Error] 'exit' was not declared in this scope的解决方法

热门文章

  1. 利用window.name+iframe跨域获取接口数据
  2. LARS 最小角回归算法简介
  3. 学习笔记(一)HTML基础
  4. Python----unittest discover()方法与执行顺序
  5. python----数据驱动@ddt.file_data结合yaml文件的使用
  6. 磁盘当前目录下存在文件 c1.txt,其中存放了一段英文文字。请编程实现将c1.txt中英文文字全部转换为答谢字母,并保存到c2.txt中。要求:c2.txt文件前面保存的是c1.txt文案中的原始文字,后面紧跟着的是转换后的文字
  7. React 的组件与 this.props对象
  8. Java获取本地IP地址和主机名
  9. APP下载在微信无法打开 该如何处理
  10. SharePoint CU、Hotfix和SP版本的区别