| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> BIG DATA 神奇的大数据 - HDFS分布式文件系统 -> 正文阅读 |
|
[大数据]BIG DATA 神奇的大数据 - HDFS分布式文件系统 |
目录 自说HDFS在Hadoop起到重要作用,解决了大规模的数据存储及管理问题,呢么有如此庞大的数据,hdfs是如何准确的做到数据的保存与不流失性,又是通过什么方式去存储管理的,在整个集群中扮演了呢种角色,它又用之何处,往下看,这些问题都将会有一个你心里的答案。 学习路径BIG DATA 神奇的大数据 - Hadoop(Linux)环境搭建与部署 基本概念HDFS是分布式文件系统的简称,它提供一个可扩展、高吞吐量的大规模数据分布式存储,为集群中其他应用程序提供了存储功能。HDFS采用主/从(master/slave)架构,通过数据块及节点来存储管理。当现有的存储无法存放庞大的数据量时,我们则要采用hdfs,将庞大的数据集进行分区并存储到多台独立的计算机上,从而对多台计算机的数据进行集中管理,因而形成了分布式文件存储系统。 块计算机中用磁盘存储数据,每个磁盘都有着默认的数据块的大小,一般为512字节,文件系统块的大小更大,能达到上千字节。在hdfs中块的大小默认为128MB,这个大小也可以在hdfs-site.xml配置文件中去修改大小。在datanode的出处数据块中,为了确保数据的可靠性、读写性能,会均匀的确保每个数据块充分的存储在datanode中去。 例下图所示,有三个块,每个块大小为128mb,现在要存储一个300mb的数据,存储情况如下
使用块的好处: 容错性高:通常每个块中的数据有着备份,当某个块中数据损坏时,会从其他副本中复制调用,确保正常使用。 简化存储系统:以块为单元,可分别控制各个不同数据 可分不在集群的各个节点中去,跨越了磁盘机器的限制。 优劣优点: HDFS适合用于存储大文件,例如GB-TB甚至更大级别。 运行于廉价的硬件设备上 采用流式数据访问 缺点 延迟高,实时访问数据弱 大量小文件存储 结构HDFS的结构采用主从架构,且由多个不同类型的进程组成,而每个进程又多个不同类型的节点,如Scondary Namenode、Namenode、Datanode等相互配合、协作,从而形成了整个结构。 读写流程如图所示,当客户端要去读取源数据首先向namenode发送请求,当写入数据时会将当下客户端中操作的数据进行保存并复制到框架中去,每个框架并有着多个块组成,块中存放这相应数据。当要读取数据时,同样发送请求读取框架中相应的数据。 Scondary Namenode??????? 第二节点 ?用于定期合并命名空间镜像和编辑日志的辅助进程,当namenode崩溃时,数据会丢失,Scondary Namenode可以恢复数据,在合并操作过程中需要消耗cpu及内存资源,通常Scondary Namenode都是单独运行在另一台机器或服务器上的。 Namenode??????? 名字节点??????? 用于存放并维护文件系统的目录树 Nodename是HDFS上的主角,它相当大脑,维护着整个文件系统。通常吧Nodename作为架构中的主存储节点,控制管理者nodename。作为进程,开启关闭集群也都是它是工作。 Datanode??????? 数据节点 在主从架构中担任从角色,所有的块都存放于datanode节点中,在运行的过程中datanode会不间断的向namenode报告,并提取和存储block中的数据。 使用(命令行接口)格式 hadoop fs 或者 hadoop dfs 其中hadoop fs使用面积较广,可用任何文件系统, hadoop dfs只能操作HDFS相关的文件系统
其实很多操作与linux上的命令类似,只不过要在前加上hadoop dfs,因为它有着固定的命令行接口。
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 13:21:31- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |