Hadoop-- hdfs

news/2024/5/20 0:49:35 标签: hadoop, hdfs, 大数据
1、HDFS中的三个进程:NameNode(NN)、DataNode(DN)、SecondNameNode(SNN)
2、NameNode(NN)
1、作用:

1、接收客户端的一个读、写的服务,在namenode上存储了数据文件和datanode的映射的关系。

2、存储元数据信息,会将文件的一些属性、文件的大小、文件的权限都存储在namenode上面,和存储block的位置信息,在每次开启集群的时候datanode会向namenode汇报block的信息。

集群启动的时候:

        首先在启动的时候,namenode是不会存储任何datanode与block的映射关系,是datanode会自动的将这种映射关系汇报给namenode,然后namenode会根据datanode的提供的关系自动的生成映射关系。

集群运行的时候:

        namenode会与datanode保持一个心跳机制,每三秒一次,保证客户端在进行读写的需求的时候,namenode能够知道dataname的健康状态

        可以让客户端读取存活的DN节点,如果NN与DN三秒没有心跳则认为DN出现异常,此时不会让新的数据写到这个异常的DN中,客户端访问的时候不提供异常DN节点地址,

        如果超过十分钟没有心跳,那么NN会将当前DN节点存储的数据转移到其他的节点

3、NameNode为了效率,会将所有的操作都在内存中执行。这样的操作速度比较快,NameNode不会和磁盘进行任何的数据交换

        但是会出现两个问题,那就是数据的持久化的问题和数据安全的问题,因为数据是存储在内存中,当出现意外的时候,数据容易丢失。

2、DataNode(DN):
1、作用:

1、存放的是文件的数据信息(block块),以及验证文件完整性的校验文件(以meta结尾的文件)

2、数据是存储在硬盘中

3、会向NN做汇报

        1、在启动的时候,会先检验一下自身的block文件时候存在毁坏等问题,向NN汇报DN上面的block信息。

        2、在运行的时候,和NN保持心跳机制

4、客户端在进行读写请求的时候,会先去NN中查询文件和block与DN的映射的关系,然后客户端就会与DN建立联系,然后读写数据。

3、SecondNameNode:
1、作用:

主要是负责合并NameNode的edit logs到fsimage文件中。

NN也会将存储的元数据信息存储到磁盘中,此时会使用到两个文件,分别是

  1. fsimage - 它是在NameNode启动时对整个文件系统的快照
  2. edit logs - 它是在NameNode启动后,对文件系统的改动序列

只有在NameNode重启时,edit logs才会合并到fsimage文件中,从而得到一个文件系统的最新快照。但是在实际的生产中,集群中NameNode是很少重启的,这也意味着当NameNode运行了很长时间后,edit logs文件会变得很大,此时SNN就会将edit logs与原先旧的fsimage进行合并,产生一个新的fsimage。

主要的工作的流程是:

  1. 首先,它定时到NameNode去获取edit logs,并更新到fsimage上。[笔者注:Secondary NameNode自己的fsimage]
  2. 一旦它有了新的fsimage文件,它将其拷贝回NameNode中。
  3. NameNode在下次重启时会使用这个新的fsimage文件,从而减少重启的时间。
4、安全模式:

安全模式是HDFS中的一种工作状态,出于安全模式的状态下,只向用户提供文件的只读的模式,不接受对命名空间的修改,同时NN也不会进行数据块的复制和删除。

强制退出安全模式:

hdfs  dfsadmin -safemode leave  


进入安全模式的命令:

hdfs  dfsadmin  -safemode  enter



查看安全模式:

hdfs dfsadmin  -safemode  get


等待安全模式退出:

hdfs  dfsadmin  -safemode wait
5、机架感知

是为了保证副本在集群中的安全。需要将不同的节点存放在不同的节点上面。


http://www.niftyadmin.cn/n/5199391.html

相关文章

dxva2+ffmpeg硬件解码(Windows)终结发布

《dxva2超低延迟视频播放器》演示demo下载URL: 【免费】dxva2硬解码超低延迟网络本地播放器资源-CSDN文库 本地播放 截图: rtsp播放截图(推送内容为本地桌面,所以是这样的) OK,进入主题: 前前…

基于可变形卷积和注意力机制的带钢表面缺陷快速检测网络DCAM-Net(论文阅读笔记)

原论文链接->DCAM-Net: A Rapid Detection Network for Strip Steel Surface Defects Based on Deformable Convolution and Attention Mechanism | IEEE Journals & Magazine | IEEE Xplore DCAM-Net: A Rapid Detection Network for Strip Steel Surface Defects Base…

VSCode新建Vue项目

前言 Vue.js 是一款流行的 JavaScript 前端框架,它可以帮助开发者轻松构建高性能、可扩展的 Web 应用程序。而 VSCode 则是一款功能强大的开源代码编辑器,它提供了许多有用的工具和插件,可以大幅提高开发效率。 在本文中,我们将…

基于Vue+SpringBoot的医院门诊预约挂号系统 开源项目

项目编号: S 033 ,文末获取源码。 \color{red}{项目编号:S033,文末获取源码。} 项目编号:S033,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 功能性需求2.1.1 数据中心模块2.1.2…

AlmaLinux download

前言 一个开源的、社区拥有和管理的、永远免费的企业级Linux发行版,专注于长期稳定性,提供一个健壮的生产级平台。AlmaLinux操作系统是1:1二进制兼容RHEL和pre-Stream CentOS。 AlmaLinux download VersionAlmaLinux downloadAlmaLinux backup阿里云…

【C++ Primer Plus学习记录】for循环

很多情况下都需要程序执行重复的任务&#xff0c;C中的for循环可以轻松地完成这种任务。 我们来从程序清单5.1了解for循环所做的工作&#xff0c;然后讨论它是如何工作的。 //forloop.cpp #if 1 #include<iostream> using namespace std;int main() {int i;for (i 0; …

若依项目自动分页后生成的SQL语句中limit后面本该有两个参数的,少了一个的问题

产生的原因&#xff1a; 默认情况下&#xff0c;合理分页是启用的&#xff0c;启用了就会出问题。 解决办法&#xff1a; 默认情况下&#xff0c;合理分页是启用的&#xff0c;如果您不需要启用合理分页&#xff0c;可以将 setReasonable() 方法的参数设置为 false。例如&#…

.NET 主流 ORM 功能介绍 大全 最新

.NET主流ORM 下面是3款.NET 使用最多的ORM 测试项目发布时间微信公众号投票 (追逐时间光者)使用难度功能SqlSugar orm201426% 491票适中全EFCore orm201636% 663票较难全Dapper orm201323% 374票简单少 一、SqlSugar ORM介绍 是一款 老牌 .NET 开源多库架构ORM框架…