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。

大数据 - hadoop基础概念 - HDFS的更多相关文章

  1. 大数据Hadoop核心架构HDFS+MapReduce+Hbase+Hive内部机理详解

    微信公众号[程序员江湖] 作者黄小斜,斜杠青年,某985硕士,阿里 Java 研发工程师,于 2018 年秋招拿到 BAT 头条.网易.滴滴等 8 个大厂 offer,目前致力于分享这几年的学习经验. ...

  2. 大数据-hadoop生态之-HDFS

    一.HDFS初识 hdfs的概念: HDFS,它是一个文件系统,用于存储文件,通过目录树定位文件,其次,他是分布式的,由很多服务器联合起来 实现功能,集群中的服务器各有各自的角色 HDFS设计适合一次 ...

  3. 大数据Hadoop基础入门到精通

    1.hadoop前世今生: 1) 搜索引擎:网络爬虫+索引服务器(生成索引+检索) 2) Doung Cutting 3)  Nutch a.分布式存储 b.分布式计算 4)GFS论文 doung c ...

  4. 我要进大厂之大数据Hadoop HDFS知识点(1)

    01 我们一起学大数据 老刘今天开始了大数据Hadoop知识点的复习,Hadoop包含三个模块,这次先分享出Hadoop中的HDFS模块的基础知识点,也算是对今天复习的内容进行一次总结,希望能够给想学 ...

  5. 云计算分布式大数据Hadoop实战高手之路第七讲Hadoop图文训练课程:通过HDFS的心跳来测试replication具体的工作机制和流程

    这一讲主要深入使用HDFS命令行工具操作Hadoop分布式集群,主要是通过实验的配置hdfs-site.xml文件的心跳来测试replication具体的工作和流程. 通过HDFS的心跳来测试repl ...

  6. Hadoop基础概念介绍

    基于YARN的配置信息, 参见: http://www.ibm.com/developerworks/cn/opensource/os-cn-hadoop-yarn/ hadoop入门 - 基础概念 ...

  7. 大数据Hadoop——初识Hadoop

    Hadoop简介 官方网站:  http://hadoop.apache.org/ 中文网站:  http://hadoop.apache.org/docs/r1.0.4/cn/ Hadoop设计来源 ...

  8. 14周事情总结-机器人-大数据hadoop

    14周随着考试的进行,其他该准备的事情也在并行的处理着,考试内容这里不赘述了 首先说下,关于机器人大赛的事情,受益颇多,机器人的制作需要机械和电控两方面 昨天参与舵机的测试,遇到的问题:舵机不动 排查 ...

  9. 成都大数据Hadoop与Spark技术培训班

    成都大数据Hadoop与Spark技术培训班   中国信息化培训中心特推出了大数据技术架构及应用实战课程培训班,通过专业的大数据Hadoop与Spark技术架构体系与业界真实案例来全面提升大数据工程师 ...

随机推荐

  1. WEB UI基础八:链接跳转到标准的工单界面

    接以前做的例子,用组件做了个搜索界面,明细里添加了object_id的链接: method GET_P_OBJECT_ID. "#EC NEEDED ** generated by sear ...

  2. Python实现简单的四则运算

    GitHub 项目地址 https://github.com/745421831/-/tree/master PSP PSP2.1 Personal Software Process Stages 预 ...

  3. [Err] 1093 - You can't specify target table 'master_data' for update in FROM clause

    delete from master_data where category_id not in (select category_id from master_data a, bc_category ...

  4. unity中多个门的开关动画保持独立性

    List<Animation> storeAnimation; public void Awake() { storeAnimation = new List<Animation&g ...

  5. 静态方法和实例方法(mark)

    借花献佛[转自 ivony's blog] 关于静态方法和实例方法的一些误区. 一.    静态方法常驻内存,实例方法不是,所以静态方法效率高但占内存.     事实上,方法都是一样的,在加载时机和占 ...

  6. equals方法中变量在前和在后的区别

    对于变量:String str1; 使用str1.equals("null"); 对于变量str1,如果str1是null,空是没有equals方法的,会抛出空指针异常 使用&qu ...

  7. c++ 指针、引用和取值;

    直接看代码: #include<iostream> using namespace std; int add(int *a,int *b){ int s; s = *a + *b; cou ...

  8. ISCSI

    感谢: https://www.cnblogs.com/wuchanming/p/4019660.html

  9. Problem B: STL——集合运算

    Description 集合的运算就是用给定的集合去指定新的集合.设A和B是集合,则它们的并差交补集分别定义如下: A∪B={x|x∈A∨x∈B} A∩B={x|x∈A∧x∈B} A-B={x|x∈A ...

  10. webpack学习笔记 ——篇2

    插件整理 extract-text-webpack-plugin 用于将css/less/sass等文件单独打包 https://webpack.docschina.org/plugins/extra ...