HDFS概述


Hadoop分布式文件系统(HDFS)是一种旨在在商品硬件上运行的分布式文件系统。HDFS具有高度的容错能力,旨在部署在低成本硬件上。HDFS提供对应用程序数据的高吞吐量访问,并且适用于具有大数据集的应用程序。HDFS放宽了一些POSIX要求,以实现对文件系统数据的流式访问。HDFS最初是作为ApacheNutch Web搜索引擎项目的基础结构而构建的。HDFS是ApacheHadoop Core项目的一部分。计算机集群结构


分布式文件系统把文件分布存储到多个计算机节点上,成千上万的计算机节点构成计算机集群。目前的分布式文件系统所采用的的计算机集群都是由普通硬件构成的,这就大大降低了硬件上的开销。基本系统架构


Block块


HDFS默认一个块128MB,一个文件被分成多个块,以块作为存储单位。块的大小远远大于普通文件系统,可以最小化寻址开销。抽象的块概念可以带来以下几个明显的好处:支持大规模文件存储简化系统设计适合数据备份NameNode和DataNodes


NameNode DataNode
存储元数据 存储文件内容
元数据保存在内存中 文件内容保存在磁盘
保存文件,block,datanode之间的映射关系 维护了block  id 到datanode本地文件的映射关系

DataNodes


数据节点是分布式文件系统HDFS的工作节点,负责数据的存储和读取,会根据客户端或者是名称节点的调度来进行数据的存储和检索,并且向名称节点定期发送自己所存储的块的列表。每个数据节点中的数据会被保存在各自节点的本地Linux文件系统中。HDFS体系结构概述


HDFS命名空间管理


HDFS的命名空间包括目录、文件和块。HDFS使用的是传统的分级文件体系,因此,用户可以像使用普通文件系统一样,创建、删除目录和文件,在目录间转移文件,重命名文件等。NameNode维护文件系统命名空间。对文件系统命名空间或其属性的任何更改均由NameNode记录。通信协议


HDFS是一个部署在集群上的分布式文件系统,因此,很多数据需要通过网络进行传输。所有的HDFS通信协议都是构建在TCP/IP协议基础之上的。客户端通过一个可配置的端口向名称节点主动发起TCP连接,并使用客户端协议与名称节点进行交互。名称节点和数据节点之间则使用数据节点协议进行交互。客户端与数据节点的交互是通过RPC(Remote Procedure Call)来实现的。在设计上,名称节点不会主动发起RPC,而是响应来自客户端和数据节点的RPC请求。客户端


客户端是用户操作HDFS最常用的方式,HDFS在部署时都提供了客户端。HDFS客户端是一个库,包含HDFS文件系统接口,这些接口隐藏了HDFS实现中的大部分复杂性。严格来说,客户端并不算是HDFS的一部分。客户端可以支持打开、读取、写入等常见的操作,并且提供了类似shell的命令行方式来访问HDFS中的数据。HDFS也提供了Java API,作为应用程序访问文件系统的客户端编程接口。HDFS单名称节点体系结构的局限性


HDFS只设置唯一一个名称节点,这样做虽然大大简化了系统设计,但也带来了一些明显的局限性,具体如下:命名空间的限制:名称节点是保存在内存中的,因此,名称节点能够容纳的对象(文件、块)的个数会受到内存空间大小的限制。性能的瓶颈:整个分布式文件系统的吞吐量,受限于单个名称节点的吞吐量。隔离问题:由于集群中只有一个名称节点,只有一个命名空间,因此,无法对不同应用程序进行隔离。集群的可用性:一旦这个唯一的名称节点发生故障,会导致整个集群变得不可用。HDFS高可靠性(HA)


元数据持久化


HDFS联邦(Federation)


数据副本机制


HDFS数据完整性保障


HDFS主要目的是保证存储数据完整性,对于各组件的失效,做了可靠性处理。重建失效数据盘的副本数据DataNode向NameNode周期上报失败时,NameNode发起副本重建动作以恢复丢失副本。集群数据均衡HDFS架构设计了数据均衡机制,此机制保证数据在各个DataNode上分布是平均的。元数据可靠性保证采用日志机制操作元数据,同时元数据存放在主备NameNode上。快照机制实现了文件系统常见的快照机制,保证数据误操作时,能及时恢复。安全模式HDFS提供独有安全模式机制,在数据节点故障,硬盘故障时,能防止故障扩散。HDFS架构其他关键设计要点说明


空间回收机制支持回收站机制,以及副本数的动态设置机制。数据组织数据存储以数据块为单位,存储在操作系统的HDFS文件系统上。访问方式提供JAVAAPI,HTTP方式,SHELL方式访问HDFS数据。HDFS3.0 HDFS新特性总结


支持HDFS中的纠删码ErasureEncoding基于HDFS路由器的联合支持多个NameNodeDataNode内部添加了负载均衡  DiskBalancer常用Shell命令


HDFS数据写入流程


HDFS数据读取流程



智汇云校:12月份 全国校区开班计划

shell 删除了hdfs 文件_知识干货 | 大数据全解 HDFS分布式文件系统相关推荐

  1. shell 删除了hdfs 文件_从零开始学大数据(三) Shell操作HDFS文件系统-中

    1.格式化 [root@master sbin]# hdfs namenode -format 2.命令hdfs dfsadmin 查看(hdfs dfsadmin -report) [root@ma ...

  2. 大数据技术之Hadoop分布式文件系统HDFS系统知识整理(从入门到熟练操作)

    系列博客 1.大数据技术之Hadoop完全分布式集群搭建+Centos7配置连通外网和主机 2.大数据技术之Hadoop编译源码 3.大数据技术之Hadoop分布式文件系统HDFS系统知识整理(从入门 ...

  3. 大数据(3)---分布式文件系统HDFS 介绍

    分布式文件系统HDFS 介绍 来自https://www.cnblogs.com/liango/p/7136448.html  1.三个部分: 客户端.nameserver(可理解为主控和文件索引,类 ...

  4. 华为云大数据存储的冗余方式是三副本_大数据入门:HDFS数据副本存放策略

    大数据处理当中,数据储存始终是一个重要的环节,从现阶段的市场现状来说,以Hadoop为首的大数据技术框架,仍然占据主流地位,而Hadoop的HDFS,在数据存储方面,仍然得到重用.今天的大数据入门分享 ...

  5. hdfs文件如何导出到服务器,[Hadoop] 如何将 HDFS 文件导出到 Windows文件系统

    介绍如何在 Windows 环境中, 将保存在 HDFS 上的文件导出到本机上 数据导入到 HDFS 后 当然也要有方法将数据从 HDFS 导出到本机系统上 在 HADOOP JAVA API 所提供 ...

  6. 大数据存储基石——HDFS

    简介 HDFS产生背景 随着数据量越来越大,在一个本地文件系统里边已经存不下所有的数据,需要将数据分配到更多的操作系统和文件管理系统,但是不方便管理和维护,所以需要一个系统来统一管理这些存储了所有数据 ...

  7. 迁移到其他机器_有赞大数据离线集群迁移实战

    ‍‍ 点击关注"有赞coder" 获取更多技术干货哦- 作者:郭理想 & 任海潮部门:数据中台 一.背景 有赞是一家商家服务公司,向商家提供强大的基于社交网络的,全渠道经营 ...

  8. 大数据学习之HDFS基础

    一.HDFS介绍 基本介绍 HDFS的全称是Hadoop Distributed File System ,Hadoop的 分布式 文件 系统 是一种允许文件通过网络在多台主机上分享的文件系统,可以让 ...

  9. 05.SQL Server大数据群集小试牛刀--HDFS查询

    05.SQL Server大数据群集小试牛刀--HDFS查询 SQL Server大数据群集查询HDFS ,利用之前创建好的大数据群集,使用官方提供的测试数据进行测试.脚本是官方的脚本,要知道干了什么 ...

最新文章

  1. 测试机房质量之上传下载速率测试
  2. 【 FPGA 】序列检测器的Mealy状态机实现
  3. python学习框架图-Python学习---Python的框架基础学习
  4. UA MATH574M 统计学习II 二元分类
  5. LeetCode-链表-160. 相交链表
  6. cpu缓冲区大小怎么设置_JAVA高薪面试必备知识点Volatile底层原理探究CPU在作怪
  7. c语言实训模块化程序设计,C语言 实验三 模块化程序设计.doc
  8. CF802O-April Fools‘ Problem(hard)【wqs二分,优先队列】
  9. java mongo subtract_春数据MongoDB的聚合框架,例外
  10. python序列类型举例说明_Python(第八课,序列类型)
  11. silverlight 自定义资源整理(待后续补充)
  12. Populating Next Right Pointers in Each Node I or II
  13. Pannellum:详解利用Pannellum实现Web三维全景功能
  14. 【三维路径规划】基于matlab人工蜂群算法无人机三维路径规划【含Matlab源码 021期】
  15. 无线传感器网络定位概念
  16. 19种电压转换的电路设计方式
  17. 华为手机克隆在哪个文件夹_华为手机克隆软件怎么使用?手机克隆APP操作步骤以及下载地址详细介绍[多图]...
  18. 什么是编程?什么是编程语言?
  19. 高级验证方法学()-Mentor-笔记
  20. 华为服务器显示100错误,华为12708风扇狂转100%故障排除

热门文章

  1. Xamarin XAML语言教程构建进度条ProgressBar
  2. mysql数据类型默认长度_mysql数据类型长度
  3. python类实例化 输入参数名字 下划线_Python 的类的下划线命名有什么不同?
  4. 视频码率、视频编码的原理
  5. 复旦大学类脑智能研究院发展电刺激伪迹实时处理新方法,为智能闭环神经调控提供关键技术...
  6. php 长短字符串转换,将php的数组按照字符串长短进行排序
  7. 聊天截图厚码也不安全,大神写了算法分分钟给你还原
  8. 橡鹭科技获源码资本亿元融资,美团原核心高管加盟,发力服务机器人
  9. 谷歌最新视频抠图术:影子烟雾都能抠,添加水印更顺滑,UP主剪辑利器 | 开源...
  10. 复旦大学把衣服变成了显示器,能聊天能导航,水洗弯折都不怕 | Nature