hadoop02【尚硅谷】

news2024/12/28 9:23:29

HDFS

大数据学习笔记

一、HDFS产出背景及定义

  1. HDFS产生背景
    随着数据量越来越大,在一个操作系统存不下所有的数据,那么就分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,迫切需要一种系统来管理多台机器上的文件,这就是分布式文件管理系统。HDFS只是分布式文件管理系统中的一种
  2. HDFS定义
    HDFS,它是一个文件系统,用于存储文件,通过目录树来定位文件;其次,它是分布式的,由很多服务器联合起来实现其功能,集群中的服务器有各自的角色。
    HDFS的使用场景适合一次写入,多次读出的场景,且不支持文件的修改。适合用来做数据分析,并不适合用来做网盘应用。

优点:
1)高容错性

  • 数据自动保存多个副本。它通过增加副本的形式,提高容错性。
  • 某一个副本丢失以后,它可以自动恢复。

2) 适合处理大数据

  • 数据规模:能够处理数据规模达到GB、TB、甚至PB级别的数据
  • 文件规模:能够处理百万规模以上的文件数量,数量相当之大。
    3)可构建在廉价机器上,通过多副本机制,提高可靠性。

缺点:
1) 不适合低延时数据访问,比如毫秒级的存储数据,是做不到的。
2)无法高效的对大量小文件进行存储。

  • 存储大量小文件的话,它会占用NameNode大量的内存来存储文件目录和块信息。这样是不可取的,因为NameNode的内存总是有限的;
  • 小文件存储的寻址时间会超过读取时间,它违反了HDFS的设计目标。
    3)不支持并发写入、文件随机修改。
  • 一个文件只能有一个写,不允许多个线程同时写;
  • 仅支持数据append(追加),不支持文件的随机修改。
  1. HDFS组成架构
    在这里插入图片描述
  1. NameNode(nn):就是Master,它是一个主管、管理者。
  • 管理HDFS的名称空间;
  • 配置副本策略;
  • 管理数据块(block)映射信息;
  • 处理客户端读写请求。
  1. DataNode(dn):就是Slave。NameNode下达命令,DataNode执行实际的操作。
  • 存储实际的数据块;
  • 执行数据块的读/写操作。
  1. Client:就是客户端。
  • 文件切分。文件上传HDFS的时候,Client将文件切分成一个一个的Block,然后进行上传;
  • 与NameNode交互,获取文件的位置信息;
  • 与DataNode交互,读取或者写入数据;
  • Client提供一些命令来管理HDFS,比如NameNode格式化;
  • Client可以通过一些命令来访问HDFS,比如对HDFS增删查改操作。
  1. Secondary NameNode(2nn):并非NameNode的热备。当NameNode挂掉的时候,它并不能马上替换NameNode并提供服务。
  • 辅助NameNode,分担其工作量,比如定期合并Fsimage和Edits(镜像和编辑日志),并推送给NameNode;
  • 在紧急情况下,可辅助恢复NameNode只可恢复部分,并不是所有
  1. HDFS文件块大小(面试重点)
    HDFS中的文件在物理上是分块层出(Block),块的大小可以通过配置参数(dfs.blocksize)来规定,默认大小在Hadoop2.x版本中是128M,老版本中是64M
    在这里插入图片描述

思考:为什么块的大小不能设置太小,也不能设置太大?
1)HDFS的块设置太小,会增加寻址时间,程序一直在找块的开始位置;
2)如果块设置的太大,从磁盘传输数据的时间会明显大于定位这个块开始位置所需的时间。导致程序在处理这块数据时,会非常慢。

总结:HDFS块的大小设置主要取决于磁盘传输速率。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/357997.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

python基于vue的酒店预约管理平台系统

当用户在上一步中的房间展示界面中点击了房间的图片或者名称之后系统会根据房间的ID自动的跳转到房间的详情页面中来,在房间的详情页面中可以看到房间的图片房间的价格房间的详细介绍房间的类型等内容,当用户登录之后还可以根据需要进行对房间进行预定&a…

Vulnhub靶场之PYLINGTON: 1

1.信息收集 1.输入arp-scan 192.168.239.0/24,探索存活主机,发现主机192.168.239.172存活。 2.对存活主机进行端口扫描,发现22(SSH)、80(Web)端口。 3.访问80端口,在浏览器上输出:http://192.168.239.172。 4.查看…

工具篇3.5世界热力图

一、定义 世界热力图是一种地图形式,它使用颜色的变化来显示世界各个地区的某种指标(如 GDP、人口、气候等)的分布和密度。通常,世界热力图会使用不同的颜色来表示数据的变化,例如使用蓝色表示低值,红色表…

算法leetcode|37. 解数独(rust重拳出击)

文章目录37. 解数独:样例 1:提示:分析:题解:rustgoccpythonjava37. 解数独: 编写一个程序,通过填充空格来解决数独问题。 数独的解法需 遵循如下规则: 数字 1-9 在每一行只能出现…

如何配置git,使其支持多用户

如何配置git,使其支持多用户? 在多数时候, 我们使用git进行操作时,只需要在本地配置一个用户的ssh key,就可以完成基本的pull/push操作。如果现在我有两个github的账号,并需要在一台电脑中操作其中的repo&…

项目管理工具dhtmlxGantt甘特图入门教程(十):服务器端数据集成(下)

这篇文章给大家讲解如何利用dhtmlxGantt在服务器端集成数据。 dhtmlxGantt是用于跨浏览器和跨平台应用程序的功能齐全的Gantt图表,可满足应用程序的所有需求,是完善的甘特图图表库 DhtmlxGantt正版试用下载(qun 764149912)http…

LVGL WIN32模拟器环境搭建

LVGL WIN32模拟器环境搭建LVGL简介环境搭建IDE 选择模拟器代码下载PC模拟器搭建其他配置项说明LVGL简介 LVGL是一个跨平台、轻量级、易于移植的图形库。因其支持大量特性和其易于裁剪,配置开关众多,且版本升级较快,不同版本之间存在一定的差…

基于springboot+vue的医院信息管理系统

基于springbootvue的医院信息管理系统 ✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取项目下载方式🍅 一、项目背景介…

2、登录界面开发

【任务描述】本任务要求使用线性布局以及TextView、EditText、Button等常见控件完成智慧园区登录界面的开发。1、线性布局(LinearLayout)1.1、LinearLayout概述线性布局(LinearLayout)主要以水平或垂直方式来排列界面中的控件。并…

【C++修炼之路】20.手撕红黑树

每一个不曾起舞的日子都是对生命的辜负 红黑树实现:RBTree 前言一.红黑树的概念及性质1.1 红黑树的概念1.2 红黑树的性质二.红黑树的结构2.1 红黑树节点的定义2.2 红黑树类的封装三.红黑树的插入情况1:只变色情况2:变色单旋情况3:双旋插入的代…

Docker入门和安装教程

一、Docker入门简介 Docker 是一个基于GO语言开发的开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。 容器是完全使用沙箱机制,相互之间不会…

关于如何在 Grafana 绘制 Apache Hudi Metrics 仪表盘的教程

文章目录前言下载 Prometheus下载 PushgatewayPrometheus 集成 PushgatewayPushgateway 后台执行Prometheus 后台执行在Prometheus中配置PushgatewayApache Hudi Metrics中开启 Pushgateway 推送Grafana 安装和启动Grafana 新增 Apache Hudi Metrics 仪表盘添加 Prometheus 数据…

批处理删除指定文件或文件夹

声明:1-2节参考了 https://blog.csdn.net/weixin_43960383/article/details/1243673841. DEL1.1 DEL 的命令参数使用 del 命令能指定文件,Del (erase)[Drive:][Path]FileName指删除指定文件。指定要删除的文件或文件集的位置和名称。语法格式如下&#x…

XML学习

文章目录XML什么是XML?XML的作用?XML语法文档声明XML注释元素(标签)xml属性语法规则5.4、xml解析技术介绍dom4j 解析技术(重点)dom4j 编程步骤:使用遍历标签 获取所有标签中的内容(重点&#x…

第十三届蓝桥杯国赛 C++ C 组 Java A 组 C 组 Python C 组 E 题——斐波那契数组(三语言代码AC)

目录1.斐波那契数组1.题目描述2.输入格式3.输出格式4.样例输入5.样例输出6.数据范围7.原题链接2.解题思路3.Ac_code1.Java2.C3.Python1.斐波那契数组 1.题目描述 如果数组 A(a0,a1,⋯.an−1)A(a_0,a_1,⋯.a_{n-1})A(a0​,a1​,⋯.an−1​)满足以下条件, 就说它是一个斐波那契…

如何在类中定义构造方法?

在一个类中定义的方法如果同时满足以下三个条件,该方法称为构造方法,具体如下:1、方法名与类名相同2、在方法名的前面没有返回值类型的声明3、在方法中不能使用return语句返回一个值接下来通过一个案例来演示如何在类中定义构造方法&#xff…

闪光桐人の实习日记(2023年2月20-27日)

前往闪闪の小窝以获得更好的阅读和评论体验 文章目录2023年2月20日(Vue入门)概念Vue基础Vue中的MVVMVue的体验Vue的生命周期Vue指令Vue组件VueRouter前后端路由的区别工作原理两种模式比较route跟router的区别路由属性导航守卫Vuex概述5种基本对象基本使…

C语言编程规范 第二部分

2、头文件对于C语言来说,头文件的设计体现了大部分的系统设计。不合理的头文件布局是编译时间过长的根因,不合理的头文件实际上反映了不合理的设计。 1、头文件中适合放置接口的声明,不适合放置实现头文件是模块(Module&#xff…

【数据结构】时间复杂度和空间复杂度

🌇个人主页:平凡的小苏 📚学习格言:别人可以拷贝我的模式,但不能拷贝我不断往前的激情 🛸C语言专栏:https://blog.csdn.net/vhhhbb/category_12174730.html 小苏希望大家能从这篇文章中收获到许…

苹果手机怎么设置闹钟铃声?更改为歌曲铃声,亲测有效

很不是有很多小伙伴每天早上都被苹果手机刺耳的“雷达”闹钟铃声给吵醒呢?想要更换一个舒缓的闹钟铃声,却发现自己鼓捣半天却无法更换喜欢的歌曲闹钟铃声。苹果手机怎么设置闹钟铃声?下面小编就来分享如何将苹果手机的闹钟铃声设置成歌曲铃声…