大数据入门-五分钟读懂HDFS

这篇具有很好参考价值的文章主要介绍了大数据入门-五分钟读懂HDFS。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

=========

1.大数据入门-大数据是什么

2.大数据入门-大数据技术概述(一)

3.大数据入门-大数据技术概述(二)

4.大数据入门-三分钟读懂Hadoop

一、概念

====

HDFS英文全称为:Hadoop Distributed File System,是指被设计成适合运行在通用硬件的分布式文件系统。它和现有的分布式文件系统有很多共同点。但同时,它和其他的分布式文件系统的区别也是很明显的。HDFS是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。HDFS放宽了一部分POSIX约束,来实现流式读取文件系统数据的目的。HDFS在最开始是作为Apache Nutch搜索引擎项目的基础架构而开发的。HDFS是Apache Hadoop Core项目的一部分。

这里再强调一下几个特点,注意看黑板。

超大文件:可以存放TB到PB级别的数据量

**流式访问:**一次写入,多次读取。更加关注所有数据集的查询时间。

**商用硬件:**机器都是普通的机器,可以组合起来一起使用,三个臭皮匠顶个诸葛亮。但是单节点故障会较多,所以要有一种机制和方法来迅速恢复业务。

**不适合低延时数据:**针对的问题和解决方案是高吞吐,所以不适合低延时数据,当然后面会有专门的低延时架构。所以问题出来了总有方案。不要慌。

不支持任意修改: 系统以读数据为主,支持在文末追加数据,不支持任意修改。

二、架构及组件概念

=========

hdfs是指被设计成合适运行在通用硬件,程序员,大数据,hdfs,hadoop

**数据块:**默认一个块(block)的大小为128MB(HDFS的块这么大主要是为了最小化寻址开销),要在HDFS中存储的文件可以划分为多个分块,每个分块可以成为一个独立的存储单元。与本地磁盘不同的是,HDFS中小于一个块大小的文件并不会占据整个HDFS数据块。

**NameNode:**管理整个文件系统的元数据。例如管理元数据,维护维护目录结构、响应客户端请求。

详解说明:NameNode作为管理节点,它负责整个文件系统的命名空间,并且维护着文件系统树和整棵树内所有的文件和目录,这些信息以两个文件的形式(命名空间镜像文件和编辑日志文件)永久存储在NameNode的本地磁盘上。除此之外,同时,NameNode也记录每个文件中各个块所在的数据节点信息,但是不永久存储块的位置信息,因为块的信息可以在系统启动时重新构建。

**DataNode:**复制管理用户的文件数据块。例如管理用户提交的数据 心跳机制 块报告。

**NameNode容错性:**NameNode作为管理节点,它的地位是非同寻常的,一旦NameNode宕机,那么所有文件都会丢失,因为NameNode是唯一存储了元数据、文件与数据块之间对应关系的节点,所有文件信息都保存在这里,NameNode毁坏后无法重建文件。

第一种机制是备份那些组成文件系统元数据持久状态的文件,比如:将文件系统的信息写入本地磁盘的同时,也写入一个远程挂载的网络文件系统(NFS),这些写操作实时同步并且保证原子性。

第二种机制是运行一个辅助NameNode,用以保存命名空间镜像的副本,在NameNode发生故障时启用。(也可以使用热备份NameNode代替辅助NameNode)。

**心跳机制:**维护集群的可用性

NameNode启动的时候,会有一个加载元数据(数据的数据,类似于表的索引)和块报告(DataNode会定时(可以再配置文件中设置,所以一定要时间同步)对块信息进行统计)的过程,NameNode通过心跳机制维护整个集群的可用性。如果块报告上传失败,NameNode不会更新元数据,在块报告的时候就会将其删除掉。

**块缓存:**数据通常情况下都保存在磁盘,但是对于访问频繁的文件,其对应的数据块可能被显式的缓存到DataNode的内存中,以堆外缓存的方式存在,一些计算任务(比如MapReduce)可以在缓存了数据的DataNode上运行,利用块的缓存优势提高读操作的性能。

**高可用性:**通过备份NameNode存储的文件信息或者运行辅助NameNode可以防止数据丢失,但是依旧没有保证了系统的高可用性。一旦NameNode发生了单点失效,那么必须能够快速的启动一个拥有文件系统信息副本的新NameNode。

这个就是主NameNode与备份的NameNode之间的交互了。

**存放策略:**默认的HDFS block放置策略在最小化写开销和最大化数据可靠性、可用性以及总体读取带宽之间进行了一些折中。一般情况下复制因子为3,HDFS的副本放置策略是将第一个副本放在本地节点,将第二个副本放到本地机架上的另外一个节点而将第三个副本放到不同机架上的节点。这种方式减少了机架间的写流量,从而提高了写的性能。机架故障的几率远小于节点故障。这种方式并不影响数据可靠性和可用性的限制,并且它确实减少了读操作的网络聚合带宽,因为文件块仅存在两个不同的机架, 而不是三个。文件的副本不是均匀地分布在机架当中,1/3在同一个节点上,1/3副本在同一个机架上,另外1/3均匀地分布在其他机架上。这种方式提高了写的性能,并且不影响数据的可靠性和读性能。

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。hdfs是指被设计成合适运行在通用硬件,程序员,大数据,hdfs,hadoop

hdfs是指被设计成合适运行在通用硬件,程序员,大数据,hdfs,hadoop

hdfs是指被设计成合适运行在通用硬件,程序员,大数据,hdfs,hadoop

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

hdfs是指被设计成合适运行在通用硬件,程序员,大数据,hdfs,hadoop

言尽于此,完结

无论是一个初级的 coder,高级的程序员,还是顶级的系统架构师,应该都有深刻的领会到设计模式的重要性。

  • 第一,设计模式能让专业人之间交流方便,如下:

程序员A:这里我用了XXX设计模式

程序员B:那我大致了解你程序的设计思路了

  • 第二,易维护

项目经理:今天客户有这样一个需求…

程序员:明白了,这里我使用了XXX设计模式,所以改起来很快

  • 第三,设计模式是编程经验的总结

程序员A:B,你怎么想到要这样去构建你的代码

程序员B:在我学习了XXX设计模式之后,好像自然而然就感觉这样写能避免一些问题

  • 第四,学习设计模式并不是必须的

程序员A:B,你这段代码使用的是XXX设计模式对吗?

程序员B:不好意思,我没有学习过设计模式,但是我的经验告诉我是这样写的

hdfs是指被设计成合适运行在通用硬件,程序员,大数据,hdfs,hadoop

从设计思想解读开源框架,一步一步到Spring、Spring5、SpringMVC、MyBatis等源码解读,我都已收集整理全套,篇幅有限,这块只是详细的解说了23种设计模式,整理的文件如下图一览无余!

hdfs是指被设计成合适运行在通用硬件,程序员,大数据,hdfs,hadoop

搜集费时费力,能看到此处的都是真爱!
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门即可获取!
览无余!

[外链图片转存中…(img-qnORWGZg-1712423599091)]

搜集费时费力,能看到此处的都是真爱!
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门即可获取!文章来源地址https://www.toymoban.com/news/detail-850322.html

到了这里,关于大数据入门-五分钟读懂HDFS的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 用通俗易懂的方式讲解:十分钟读懂 Stable Diffusion 运行原理

    AIGC 热潮正猛烈地席卷开来,可以说 Stable Diffusion 开源发布把 AI 图像生成提高了全新高度,特别是 ControlNet 和 T2I-Adapter 控制模块的提出进一步提高生成可控性,也在逐渐改变一部分行业的生产模式。惊艳其出色表现,也不禁好奇其背后技术。 之前写过一篇实战类的文章一文

    2024年01月21日
    浏览(59)
  • 一分钟读懂:矩阵的特征值分解、奇异值分解和伪逆矩阵

    通过把矩阵运算分解成多个矩阵的乘法,可以简化矩阵运算,也可发现对应线性变换的一些内在规律和特性。根据不同的目的,有不同的分解策略。本文我们讨论最常用的特征值分解和奇异值分解。 定义了矩阵的加、减、乘、除(逆)运算后,数学家们自然希望探索矩阵更多

    2024年02月03日
    浏览(51)
  • 【数据结构】每天五分钟,快速入门数据结构(二)——链表

    目录 一 构建一个单向链表 二 特点 三 时间复杂度 四 相关算法 1.判断链表是否成环及成环位置 2.链表反转 五 Java中的LinkedList 类 1.使用 2.LinkedList 方法 长度无限 适合任意位置插入和删除频繁的场景 物理上可以不连续 访问、插入、删除 的时间复杂度均为O(n) 在头部插入元素

    2024年02月21日
    浏览(47)
  • 十分钟带汝入门大数据开发语言Scala

    大家好,我是百思不得小赵。 创作时间:2022 年 6 月 7 日 博客主页: 🔍点此进入博客主页 —— 新时代的农民工 🙊 —— 换一种思维逻辑去看待这个世界 👀 今天是加入CSDN的第1193天。觉得有帮助麻烦👏点赞、🍀评论、❤️收藏 Scala是一门多范式的编程语言,一种类似Ja

    2024年02月02日
    浏览(56)
  • 云计算中的出口数据是指什么?

    谷歌云(Google Cloud)近日宣布了一项重大政策变动,决定免除那些选择终止使用其服务并将数据迁移到其他云服务商或本地环境的客户的出口数据费用(数据导出费用) 。 这一举措由谷歌云平台负责人阿米特·扎维里(Amit Zavery)在其博客中公布,他表示:“如果有谷歌云客

    2024年01月25日
    浏览(91)
  • 大数据平台安全主要是指什么安全?如何保障?

    大数据时代已经来临,各种数据充斥着我们的生活与工作。随着数据的多样性以及复杂性以及大量性,大数据平台诞生了。但对于大数据平台大家都不是很了解,有人问大数据平台安全主要是指什么安全?如何保障? 大数据平台安全主要是指什么安全? 大数据平台安全主要

    2024年02月11日
    浏览(44)
  • Java连接mysql数据库的五分钟快速入门教程

    总体流程 :数据库-Java 总体步骤:         1.创建数据库并新建表         2.创建一个Java项目,在项目下新建文件夹lib,类型为Directory         3.将下载好mysql-connector-java-8.0.27.jar放到lib目录下         4.将lib下的依赖添加到Java项目中         5.编写代码连接数据库并运行

    2024年02月08日
    浏览(55)
  • 二、Elasticsearch入门必读指南:到底选择哪个ES版本更合适

    为什么写这篇,一是没人讲,二是网上很多同学分享ES相关知识、问题排查等,很多都不讲版本,导致新手在技术选型时不知道选择什么版本,更多的是问题排查时看半天文章却发现版本对不上。所以想通过这篇文章告诉你2024年了,选择什么版本更合适。     ES从发布之初到

    2024年01月21日
    浏览(51)
  • 通俗易懂,十分钟读懂DES,详解DES加密算法原理,DES攻击手段以及3DES原理。Python DES实现源码

    DES(Data Encryption Standard)是一种 对称加密 算法。它是在20世纪70年代初期由IBM研发的。它的设计目标是提供高度的数据安全性和性能,并且能够在各种硬件和软件平台上实现。 DES使用56位的密钥和64位的明文块进行加密。DES算法的分组大小是64位,因此,如果需要加密的明文长

    2024年02月03日
    浏览(71)
  • 深度对话|如何设计合适的网络经济激励措施

    近日,我们与Mysten Labs的首席经济学家Alonso de Gortari进行了对话,讨论了如何在网络运营商和参与者之间找到激励措施的平衡,以及Sui的经济如何不断发展。 起初,我是一名国际贸易的研究者。我专注于全球价值链,也就是国际供应链。但是我想更深入地参与我的工作。学术

    2024年02月13日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包