分布式文件系统

大型分布式文件系统HDFS的整体架构

北城以北 提交于 2020-04-10 09:12:42
1 概述 HDFS是分布式文件系统,具有高度容错能力,运行在廉价的机器上。HDFS提供对应用程序数据的高吞吐量访问,适用于具有大型数据集的应用程序。 2 HDFS特性 (1)可用于存储超大文件,如(GB,TB,PB)级别的文件。 (2)可运行在廉价的硬件之上,HDFS通过自身的容错机制来保证数据的安全性 (3)流式数据访问,支持一次写入、多次读取的高效访问模式。 (4)适合数据访问高吞吐量的应用场景,不适合要求低延时数据访问的应用场景。 (5)为了保证数据访问的高效性,HDFS不支持多个写入操作,也不支持在文件的任意位置进行修改,但不排除后续会支持这些操作。 本文讲解的是Hadoop2.x发行版 3 HDFS数据块 HDFS的数据块默认大小为128MB,之所以设置这么大的块占用空间,主要是为了减少磁盘的最小化寻址开销,HDFS上的文件会被切割为以块大小为单位的多个分块,为了保证数据的安全性,每个数据块都会被复制到多个服务节点中进行备份(默认为3个),通过应用程序也可以指定每个文件的副本数。如果发现一个块不可用,系统会从其他地方读取另一个副本块。 4 NameNode 和 DataNodes HDFS属于master/slave架构,由一个名称节点(NameNode)与多个数据节点(DataNodes)构成。 (1)NameNode:存放元数据(名称,副本数、权限、块列表......

hadoop分布式文件系统HDFS学习

∥☆過路亽.° 提交于 2020-04-06 23:21:05
hdfs解决物理计算机存储能力不能满足数据集的要求时遇到的问题,这个系统架构于网络之上,会引入网络编程的复杂性,因此分布式文件系统比普通完成磁盘文件系统更为复杂。 hdfs基于流数据模式访问和处理超大文件的需求而开发的,它可以运行于廉价的商用服务器上,总的来说,可以将 hdfs的主要特点概括为以下几点: (1)处理超大文件 这里指的超大文件通常指数百GB,甚至是数百TB大小的文件。目前在实际应用中,hdfs已经能用来存储管理PB级的数据了。 (2)流式的访问数据 hdfs的设计建立在更多的响应“一次写入,多次读取”任务的基础之上。这意味着一个数据集一旦由数据源生成,就会被复制分发到不同的存储节点中,然后响应各种各样的数据分析任务请求。在多数情况下,分析任务都会涉及数据集中的大部分数据,也就是说对hdfs来说,请求读取整个数据集要比读取一个记录更加高效。 (3)运行在廉价的商用机器集群上 hadoop设计对硬件需求比较低,只需运行在廉价的商用硬件集群上,但廉价商用机也意味着大型集群出现节点故障情况概率高,这就要求在设计hdfs时要充分考虑数据的可靠性,安全性及高可用性。 hdfs在一些方面有一定的局限性,主要在以下几个方面。 (1)不适合低延迟数据访问 如果要处理一些用户要求时间比较短的低延迟应用请求,则hdfs不适合。hdfs是为了处理大型数据集分析任务的

分布式内存文件系统:Tachyon

↘锁芯ラ 提交于 2020-03-20 21:58:10
3 月,跳不动了?>>> Tachyon 是一个分布式内存文件系统,可以在集群里以访问内存的速度来访问存储在 Tachyon 里的文件。Tachyon是架构在最底层的分布式文件系统和上层的各种计算框架之间的一种中间件,其主要职责是将那些不需要落地到DFS里的文件,落地到分布式内存文件系统中,来达到共享内存,从而提高效率,减少内存冗余,减少GC时间等。 Tachyon架构 Tachyon的架构是传统的Master—Slave架构,这里和Hadoop类似,TachyonMaster里WorkflowManager是 Master进程,因为是为了防止单点问题,所以通过Zookeeper做了HA,可以部署多台Standby Master。Slave是由Worker Daemon和Ramdisk构成。Ramdisk使用off heap memory。Master和Worker直接的通讯协议是Thrift。 下图是Tachyon的架构 : Fault Tolerant Tachyon的容错机制是怎么样的呢? Tachyon使用lineage这个我们在Spark的RDD里已经很熟悉的概念,通过异步的向Tachyon的底层文件系统做Checkpoint。 当我们向Tachyon里面写入文件的时候,Tachyon会在后台异步的把这个文件给checkpoint到它的底层存储,比如HDFS,S3..

分布式文件系统HDFS

微笑、不失礼 提交于 2020-03-05 21:52:49
HDFS全称为Hadoop Distributed File System,是整个Hadoop平台上的两大核心组件之一 HDFS用于解决海量数据的分布式存储问题 计算机集群结构 分布式文件系统把文件分布存储到多个计算机节点上,成千上万的计算机节点构成计算机集群 与之前使用多个处理器和专用高级硬件的并行化处理装置不同的是,目前的分布式文件系统所采用的计算机集群,都是由普通硬件构成的,这就大大降低了硬件上的开销 机架内部的机器通过光纤高速交换机进行连接,机架和机架之间通过带宽更高的几个光纤交换机来完成彼此之间的交互和连接 分布式文件系统的结构 分布式文件系统在物理结构上是由计算机集群中的多个节点构成的,这些节点分为两类,一类叫“主节点”(Master Node)或者也被称为“名称结点”(NameNode),另一类叫“从节点”(Slave Node)或者也被称为“数据节点”(DataNode)一个作为主节点,其余作为从节点,主节点承担起数据目录(元数据)服务,从节点要具体完成数据的存储任务 HDFS简介 HDFS要实现以下目标: 兼容廉价的硬件设备 流数据读写 大数据集 简单的文件模型 强大的跨平台兼容性 传统的文件系统在进行数据读写的时候是以块数据为单位,每一次可以读取指定的某一部分数据,而HDFS设计的目标就是对大量数据的读写,不会访问某个文件的子集或去访问一块一块的数据

HDFS-分布式文件系统

大兔子大兔子 提交于 2020-03-05 05:51:36
HDFS Hadoop分布式文件系统(HDFS[Hadoop Distributed File System])是指被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统(Distributed File System)。它和现有的分布式文件系统有很多共同点。但同时,它和其他的分布式文件系统的区别也是很明显的。HDFS是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。 设计思想:分而治之:将大文件、大批量文件,分布式存放在大量服务器上,以便于采取分而治之的方式对海量数据进行运算分析 应用:为各类分布式运算框架(如:mapreduce,spark,tez,……)提供数据存储服务 HDFS Architecture HDFS采用Master/Slave主从结构,每个HDFS集群包括一个单独的NameNode,用作管理文件系统的命名空间以及控制客服端访问权限的Master服务端,集群中包含一定数量的DataNode,并且至少含有一个。用于节点存储数据。HDFS就是一个文件系统并允许存储用户数据。在内部,一个文件并划分为一个或多个的块,并存储于这些DateNode集合中。NameNode执行文件系统的操作,例如打开,关闭,重命名文件和生成文件目录,并生成集群中DataNode的映射关系

云服务器分布式配置过程

只谈情不闲聊 提交于 2020-03-03 12:02:10
服务器两次被入侵,导致我一切推倒重来,在重新配置的过程,总结下安装经验 如果需要安装包,可以留言,这次重新安装配置后都有存下来 数据库的配置 tomcat及JDK的配置 zookeeper的配置及dubbo可视化界面(未更新) fastDfs分布式文件系统服务器(用于上传配置) 在Storage上安装nginx配置图片服务虚拟主机(用于下载) redis缓存服务器安装及jedis集成使用(未更新) solr搜索应用服务器安装配置及集成使用(未更新) 来源: CSDN 作者: 陈晨* 链接: https://blog.csdn.net/weixin_41998993/article/details/104626212

HDFS分布式文件系统

会有一股神秘感。 提交于 2020-03-01 02:06:05
适合的应用场景: 存储非常大的文件: 这里非常大指的是几百M、G、或者TB级别,需要高吞吐量,对延时没有要求。 采用流式的数据访问方式: 即一次写入,多次读取,数据集经常从数据源生成或者拷贝一次, 然后在其上做很多分析工作。 运行于商业硬件上: Hadoop不需要特别贵的机器,可运行于普通廉价机器,可处节约成本。 需要高容错性 为数据存储提供所需要的扩展能力 不适合的应用场景: 低延时的数据访问对延时要求在毫秒级别的应用,不适合采用HDFS。 HDFS是为高吞吐数据传输设计的,因此可能牺牲延时。 大量小文件 : 文件的元数据保存在NameNode的内存中,整个文件系统的文件数量会受限于 NameNode的内存的大小。经验而言,一个文件/目录/文件快一般占有150字节的元数据内存空间。如果有100万个文件,每个文件占用1个文件快,则需要大约300M的内存。因此十亿级别的文件数量在现有商用机器上难以支撑。 多方读写,需要任意的文件修改HDFS采用追加 的方式写入数据。不支持文件任意offset的修改。不支持多个写入器。 来源: CSDN 作者: 散_步 链接: https://blog.csdn.net/zhumengguang/article/details/104579013

HDFS原理分析(一)—— 基本概念

南笙酒味 提交于 2020-02-29 22:40:28
HDFS是Hadoop Distribute File System 的简称,也就是Hadoop的一个分布式文件系统。 一、HDFS的主要设计理念 1、存储超大文件 这里的“超大文件”是指几百MB、GB甚至TB级别的文件。 2、最高效的访问模式是 一次写入、多次读取(流式数据访问) HDFS存储的数据集作为hadoop的分析对象。在数据集生成后,长时间在此数据集上进行各种分析。每次分析都将设计该数据集的大部分数据甚至全部数据,因此读取整个数据集的时间延迟比读取第一条记录的时间延迟更重要。 3、运行在普通廉价的服务器上 HDFS设计理念之一就是让它能运行在普通的硬件之上,即便硬件出现故障,也可以通过容错策略来保证数据的高可用。 二、HDFS的忌讳 1、将HDFS用于对数据访问要求低延迟的场景 由于HDFS是为高数据吞吐量应用而设计的,必然以高延迟为代价。 2、存储大量小文件 HDFS中元数据(文件的基本信息)存储在namenode的内存中,而namenode为单点,小文件数量大到一定程度,namenode内存就吃不消了。 三、HDFS基本概念 数据块(block):大文件会被分割成多个block进行存储,block大小默认为64MB。每一个block会在多个datanode上存储多份副本,默认是3份。 namenode:namenode负责管理文件目录

如何实现支持百亿级文件的分布式文件存储

最后都变了- 提交于 2020-02-11 22:08:17
前言 文件系统是最常用的数据存储形式,所以,常用Linux操作系统的用户必然知道ext4、xfs等单机文件系统,用Windows操作系统的用户也都知道NTFS单机文件系统。各种业务场景下,不同的数据都存储于文件系统之上,大量业务逻辑就是基于文件系统而设计和开发的。提供最常用的存储访问方式,这是我们做文件系统的出发点之一。 另一方面,单机文件系统有其明显限制,主要是容量、文件数量限制,以及可靠、可用性限制。单机文件系统毕竟存储空间有限,且掉电或坏盘等故障会带来数据不可达或丢失。通过分布式文件系统解决这些问题,这是我们的出发点之二。 但做分布式文件系统会面临很多挑战,也会面临非常多的选择。 Google GFS论文面世之后,Hadoop HDFS随之诞生,HDFS的选择是处理大文件,面向MapReduce这种非在线数据分析业务,重吞吐而非延时,对HDFS内部存储的数据进行访问,需要借助其提供的专有命令行和SDK,意味着它并不是一个通用型的文件系统。它的主要架构是元数据服务(本文统一用MetaData Service的缩写MDS来指代元数据服务)和数据服务(本文统一用Data Storage Service的缩写DSS来指代数据服务),其中MDS是单点的,单点的MDS能做出一致的决策,为了保证MDS可靠性,一般会选择再做一个备份。HDFS的DSS则可以是很多个。因为文件大小和形式固定

FastFDS 分布式文件系统

我的未来我决定 提交于 2020-01-30 07:58:33
FastFDS 分布式文件系统 底下附服务器搭建 介绍 FastDFS是一个开源的轻量级分布式文件系统。它解决了大数据量存储和负载均衡等问题。特别适合以中小文件(建议范围:4KB < file_size <500MB)为载体的在线服务,如相册网站、视频网站等等。在UC基于FastDFS开发向用户提供了:网盘,社区,广告和应用下载等业务的存储服务。 FastDFS是一款开源的轻量级分布式文件系统纯C实现,支持Linux、FreeBSD等UNIX系统类google FS,不是通用的文件系统,只能通过专有API访问,目前提供了C、Java和PHP API为互联网应用量身定做,解决大容量文件存储问题,追求高性能和高扩展性FastDFS可以看做是基于文件的key value pair存储系统,称作分布式文件存储服务更为合适。 FastDFS特性 : 文件不分块存储,上传的文件和OS文件系统中的文件一一对应 支持相同内容的文件只保存一份,节约磁盘空间 下载文件支持HTTP协议,可以使用内置Web Server,也可以和其他Web Server配合使用 支持在线扩容 支持主从文件 存储服务器上可以保存文件属性(meta-data)V2.0网络通信采用libevent,支持大并发访问,整体性能更好 服务器: Tracker相当于FastDFS的大脑