hadoop核心组件——HDFS系列讲解之HDFS基本介绍

hadoop核心组件——HDFS系列讲解之HDFS-Web界面介绍 登录HDFSWeb浏览器 打开浏览器输入 http://node01:50070 (node01是NameNode所在的节点,或IP) Overview:集群概述 Datanode::数据节点 datanode-volume-failures: 数据节点卷故障 snapshot: 快照 startup-progress: 启动进度 Overview:集群概述 Datanode::数据节点 datanode-volume-failures: 数据节点卷故障 snapshot: 快照 startup-p 阅读详情

HDFS 基本介绍

HDFS 是 Hadoop Distribute File System 的简称,意为:Hadoop 分布式文件系统。是 Hadoop 核心组件之一,作为最底层的分布式存储服务而存在。
分布式文件系统解决的问题就是大数据存储。它们是横跨在多台计算机上的存储系统。分布式文件系统在大数据时代有着广泛的应用前景,它们为存储和处理超大规模数据提供所需的扩展能力。
HDFS使用Master和Slave结构对集群进行管理。一般一个 HDFS 集群只有一个 Namenode 和一定数目的Datanode 组成。Namenode 是 HDFS 集群主节点,Datanode 是 HDFS 集群从节点,两种角色各司其职,共同协调完成分布式的文件存储服务。

	NameNode(Master)管理者 - 只负责管理,管理集群内各个节点。
	SecondaryNameNode 辅助管理 – 只负责辅助NameNode管理工作。
	DataNode(Slave) 工作者,是负责工作,周期向NameNode汇报,进行读写数据。
1)HDFS集群包括,NameNode和DataNode以及Secondary Namenode。
2)NameNode负责管理整个文件系统的元数据,以及每一个路径(文件)所对应的数据块信息。
3)DataNode 负责管理用户的文件数据块,每一个数据块都可以在多个datanode上存储多个副本。
4)Secondary NameNode用来监控HDFS状态的辅助后台程序,每隔一段时间获取HDFS元数据的快照,最主要作用是辅助namenode管理元数据信息

在这里插入图片描述

HDFS分块存储

 hdfs将所有的文件全部抽象成为block块来进行存储,不管文件大小,全部一视同仁都是以block块的统一大小和形式进	
 行存储,方便我们的分布式文件系统对文件的管理

所有的文件都是以block块的方式存放在HDFS文件系统当中,在Hadoop1当中,文件的block块默认大小是64M,			
Hadoop2当中,文件的block块大小默认是128M,block块的大小可以通过hdfs-site.xml当中的配置文件进行指定
    <property>
        <name>dfs.block.size</name>
        <value>块大小 以字节为单位</value>//只写数值就可以
    </property>

	一个文件100M,上传到HDFS占用几个快?
	一个块128M,剩余的28M怎么办?
	事实上,128只是个数字,数据超过128M,便进行切分,如果没有超过128M,就不用切分,有多少算多少,不足					
	128M的也是一个快。这个快的大小就是100M,没有剩余28M这个概念。

抽象成数据块的好处

  1. 一个文件有可能大于集群中任意一个磁盘
    20T/128 = xxx块,这些block块属于一个文件
  2. 使用块抽象而不是文件,可以简化存储子系统。
  3. 块非常适合用于数据备份进而提供数据容错能力和可用性

块缓存

通常DataNode从磁盘中读取块,但对于访问频繁的文件,其对应的块可能被显示的缓存在DataNode的内存中,以堆外块缓存的形式存在。
默认情况下,一个块仅缓存在一个DataNode的内存中,当然可以针对每个文件配置DataNode的数量。作业调度器通过在缓存块的DataNode上运行任务,可以利用块缓存的优势提高读操作的性能。

HDFS副本机制

HDFS视硬件错误为常态,硬件服务器随时有可能发生故障。
为了容错,文件的所有 block 都会有副本。每个文件的 block 大小和副本系数都是可配置的。应用程序可以指定某个文
件的副本数目。副本系数可以在文件创建的时候指定,也可以在之后改变。
数据副本默认保存三个副本,我们可以更改副本数以提高数据的安全性
在hdfs-site.xml当中修改以下配置属性,即可更改文件的副本数
<property>
      <name>dfs.replication</name>
      <value>3</value>
</property>

低版本Hadoop副本节点选择
第一个副本在client所处的节点上。如果客户端在集群外,随机选一个。
第二个副本和第一个副本位于不相同机架的随机节点上。
第三个副本和第二个副本位于相同机架,节点随机。

Hadoop2.7.2副本节点选择
第一个副本在client所处的节点上。如果客户端在集群外,随机选一个。
第二个副本和第一个副本位于相同机架,随机节点。
第三个副本位于不同机架,随机节点。

名字空间(NameSpace)

HDFS 支持传统的层次型文件组织结构。用户或者应用程序可以创建目录,然后将文件保存在这些目录里。文件系统名字空间的层次结构和大多数现有的文件系统类似:用户可以创建、删除、移动或重命名文件。
Namenode 负责维护文件系统的名字空间,任何对文件系统名字空间或属性的修改都将被Namenode 记录下来。
HDFS 会给客户端提供一个统一的目录树,客户端通过路径来访问文件,形如:hdfs://namenode:port/dir-a/dir-b/dir-c/file.data。

Namenode 功能

  1. 我们把目录结构及文件分块位置信息叫做元数据。Namenode 负责维护整个hdfs文件系统的目录树结构,以及每一个文件所对应的 block 块信息(block 的id,及所在的datanode 服务器)。
  2. Namenode节点负责确定指定的文件块到具体的Datanode结点的映射关系。在客户端与数据节点之间共享数据。
  3. 管理Datanode结点的状态报告,包括Datanode结点的健康状态报告和其所在结点上数据块状态报告,以便能够及时处理失效的数据结点。

Datanode功能

  1. 文件的各个 block 的具体存储管理由 datanode 节点承担。每一个 block 都可以在多个datanode 上。Datanode 需要定时向 Namenode 汇报自己持有的 block信息。 存储多个副本(副本数量也可以通过参数设置 dfs.replication,默认是 3)。
  2. 向Namenode结点报告状态。每个Datanode结点会周期性地向Namenode发送心跳信号和文件块状态报告。
    心跳是每3秒一次,心跳返回结果带有namenode给该datanode的命令如复制块数据到另一台机器,或删除某个数据块。如果超过10分钟没有收到某个datanode的心跳,则认为该节点不可用。
    DataNode启动后向namenode注册,通过后,周期性(1小时)的向namenode上报所有的块信息。
  3. 执行数据的流水线复制。当文件系统客户端从Namenode服务器进程获取到要进行复制的数据块列表后,完成文件块及其块副本的流水线复制。
    一个数据块在datanode上以文件形式存储在磁盘上,包括两个文件,一个是数据本身,一个是元数据包括数据块的长度,块数据的校验和,以及时间戳。

机架感知

机架感知需要人为进行配置,编写Python脚本“RackAware.py”。内容为服务器IP与交换机的对应关系。(开源hadoop,使用RackAware.sh)

#!/usr/bin/python  
#-*-coding:UTF-8 -*-  
import sys  
  
rack = {  

        "12.12.3.1":"SW6300-1",  
        "12.12.3.2":"SW6300-1",  
        "12.12.3.3":"SW6300-1",  
        "12.12.3.4":"SW6300-1",  
        "12.12.3.5":"SW6300-1",  
        "12.12.3.6":"SW6300-1",  

        "12.12.3.25":"SW6300-2",  
        "12.12.3.26":"SW6300-2",  
        "12.12.3.27":"SW6300-2",  
 
        "12.12.3.49":"SW6300-3",  
        "12.12.3.50":"SW6300-3",  
        "12.12.3.51":"SW6300-3",  
     
        "12.12.3.73":"SW6300-4",  
        "12.12.3.74":"SW6300-4",  
        "12.12.3.75":"SW6300-4",  
		}  
if __name__=="__main__":  
    print "/" + rack.get(sys.argv[1],"SW6300-1-2")  

使用以下命令验证

[root@node01 sbin]# python RackAware.py 12.12.3.1
/SW6300-1 
[root@node01 sbin]# python RackAware.py 12.12.3.25
/SW6300-2
[root@node01 sbin]# python RackAware.py 12.12.3.75
/SW6300-4
[root@node01 sbin]# python RackAware.py 12.12.3.100
/SW6300-1-2

编辑core-site.xml配置文件,将脚本配置为topology.script.file.name的值

<property>
<name>topology.script.file.name</name>
<value>RackAware.py的绝对路径 </value>
</property>
C语言实现TCP聊天室:Socket编程与并发模型实战解析 网络编程是构建分布式系统的核心技术,其核心在于理解进程间通信的底层机制。TCP/IP协议栈提供了可靠的字节流传输服务,通过Socket API这一抽象接口,开发者可以在应用层建立连接、收发数据。为了高效处理多个并发连接,服务器需要采用多线程或I/O复用模型,前者为每个连接创建独立线程,逻辑清晰但资源消耗大;后者通过select、poll或epoll等系统调用监控多个文件描述符,显著提升并发能力。这些技术是构建高性能网络服务(如即时通讯、在线游戏服务器)的基础。本文以C语言实现一个简洁的TCP聊天室为例,详细 阅读详情

相关推荐

如何把Excel的数据导入python?

Python数据分析——excl导入数据的简单方法(xlrd) 本文的初衷是发现网上很多Excel导入Python都没有结合具体Excel文档进行讲解,所以这篇文档将会呈现一个简单快速的Excel+Python的入门方法。 开发环境 Prerequisites: 在开始用Python导入Excel之前,要配置好自己的开发环境,最好有IDE(terminal也可)+安装相应的数据分析包。 IDE :pycharm,vscode,etc 数据分析包:matplotlib,xlrd,numpy,etc 导入数

qq_40783513的博客 7万+

HDFS的简单介绍及核心概念

1、HDFS是什么? HDFS是Hadoop生态圈的一个存储子模块,是一个分布式文件存储系统。 文件系统:操作系统中负责管理和存储文件信息的软件。具体地说,它负责为用户创建文件,存入、读出、修改、转储、删除文件等 分布式文件系统:当文件大小超出一台计算机的存储能力时,就有必要将它拆分成若干部分,然后分散到不同的计算机中存储,管理网络中跨多台计算机存储的文件系统称之...

我的编程世界 1031

使用sysbench对Oracle做基准测试(-) 安装篇

sysbench是一款开源的多线程性能测试工具, 可以执行CPU/内存/线程/IO/数据库等方面的性能测试。数据库目前支持MySQL/Oracle/PostgreSQL。

道行尚浅(老道)的博客 7811

【HDFS】简介与重要特征

一文带你了解hdfs

goat的博客 2585

告别版本过低提示!微信3.9登录修复与聊天记录无缝迁移全攻略

本文详细解析了微信3.9版本过低提示的根源,并提供了完整的修复方案和聊天记录迁移指南。通过专用修复工具绕过版本检测,以及新旧版本聊天记录目录对比,帮助用户实现无缝迁移。特别提醒备份重要数据,确保操作安全。

weixin_42535461的博客 3149

【嵌入式】树莓派部署NCNN的YOLOv5模型

树莓派部署NCNN框架的YOLOv5模型

Ace_Spade的博客 3783

HDFS的组成及其功能

client(客户端):文件切分、与NameNode交互、获取文件的位置信息;与DataNode交互,读取或写入文件;(Master):管理整个文件的元数据(命名空间信息,块信息);(辅助工作者):辅助NameNode;执行fsimage和edits的定期合作,并推送给NameNode。(Slave):存储文件;执行数据块的读写操作。

m0_61232019的博客 5913

【Ubuntu2404】Ubuntu24.04安装NVIDIA驱动/CUDA/cuDNN搭建神经网络训练环境

NVIDIA 驱动、CUDA和cuDNN是紧密相关但各自具有独特功能的技术,它们共同为图形处理单元(GPU)加速的应用程序提供了强大的支持。本文主要介绍如何安装 `NVIDIA` 驱动、CUDA及cuDNN,为后续神经网络训练提供支持。本文主要介绍Ubuntu24.04安装NVIDIA驱动、CUDA和cuDNN的流程。

王阿巴和王咕噜 1万+

HDFS核心组件

介绍HDFS核心组件--NameNode、Secondary NameNode、DataNode

what_how_why2020的博客 3018

基于MATLAB的语音声强度和响度分析及处理

综上所述,本文介绍了如何使用MATLAB进行语音信号的声强度和响度分析,并提供了相应的源代码。通过这些工具和方法,可以更好地理解和处理语音信号的声强度和响度特性,为语音信号处理和音频应用提供支持。声强度(Intensity)和响度(Loudness)是语音信号中常用的两个重要参数,用于描述声音的强度和感知响度。响度均衡化:可以通过对语音信号施加不同的加权滤波器,调整信号的频谱分布,从而改变声音的响度。除了分析语音信号的声强度和响度,MATLAB还提供了丰富的工具和函数,用于处理语音信号的声强度和响度。

COWizard的博客 617

基于matlab的轴承损伤分析动力学建模仿真

高质量的轴承在正确的使用下,可以使用很长一段时间,如果过早的出现损伤,很可能是因为选型错误,使用不当或润滑不良造成的。因此,在安装轴承时,我们需要记录机器种类,安装部位,使用条件及周围配合。通过研究总结轴承损伤的类型,发生问题时的使用环境,以避免类似情况再次发生。轴承损伤方式按下述图片分类,我们可以图片中显示的主要特征来判断轴承损伤形式。01、压痕碰伤卡入固体异物或冲击造成的表面凹坑及安装是的擦伤◆固体异物侵入◆在倾斜状态下安装◆安装不良造成的撞击,脱落◆卡入剥离片◆改善安装、使用方法。

平时工作较为繁忙,私信消息一般晚上回复,谢谢大家~~ 2667

hadoop核心组件——HDFS系列讲解之HDFS其他功能介绍

hadoop核心组件——HDFS系列讲解之HDFS其他功能介绍多个集群之间的数据拷贝hdfs快照snapShot管理HDFS回收站回收站配置两个参数启用回收站查看回收站通过javaAPI删除的数据,不会进入回收站,需要调用moveToTrash()才会进入回收站恢复回收站数据清空回收站 多个集群之间的数据拷贝 cd /export/servers/Hadoop-2.6.0-cdh5.14.0/ bin/Hadoop distcp hdfs://node01:8020/jdk-8u141-linux-x64.

LeeBoolean的博客 566

Bash Shell 系统巡检脚本

部分安全相关检查需要root权限,建议通过sudo运行完整检查。

老韩的Linux云计算架构师进阶之路 96

hadoop核心组件——HDFS系列讲解之HDFS的shell命令操作

hadoop核心组件——HDFS系列讲解之HDFS的shell命令操作基本语法常用命令HDFS的特性 基本语法 老版本: hadoop fs 具体命令 新版本: hdfs dfs 具体命令 常用命令 (1)-help:输出这个命令参数 bin/hdfs dfs -help rm (2)-ls: 显示目录信息 hdfs dfs -ls / (3)-mkdir:在hdfs上创建目录 hdfs dfs -mkdir -p /aaa/bbb/cc/dd (4)-moveFromLocal从本地剪切粘

LeeBoolean的博客 1878

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

HDFS(一)HDFS基本介绍

HDFS基本介绍HDFS的Master-Slave结构HDFS角色作用简介HDFS 分块存储抽象成数据块的好处HDFS 副本机制名字空间(NameSpace)NameNode 功能DataNode 功能 HDFS 是 Hadoop Distribute File System 的简称,意为:Hadoop 分布式文件系统。是 Hadoop 核心组件之一,作为最底层的分布式存储服务而存在。 HDFS使用Master和Slave结构对集群进行管理。一般一个 HDFS 集群只有一个 Namenode 和一定数目的D

红叶的博客 1万+

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Hadoop核心组件之HDFS的安装与配置

教程目录 0x00 教程内容 0x01 Hadoop的获取 1. 官网下载 2. 添加微信:shaonaiyi888 3. 关注公众号:邵奈一 0x02 上传安装包到集群 1. 上传安装包到虚拟机 0x02 安装与配置Hadoop 1. 解压Hadoop 2. 配置Hadoop 3. 同步Hadoop到slave1、slave2 4. 校验HDFS 0x03 简便配置 1. 环境变量配置 2. 域名映射配置 0xFF 总结

邵奈一的博客 8663

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Hadoop之HDFS 详细教程

Hadoop 分布式系统框架中,首要的基础功能就是文件系统,在 Hadoop 中使用FileSystem 这个抽象类来表示我们的文件系统,这个抽象类下面有很多子实现类,究竟使用哪一种,需要看我们具体的实现类,在我们实际工作中,用到的最多的就是 HDFS(分布式文件系统)以及 LocalFileSystem(本地文件系统)了。在现代的企业环境中,单机容量往往无法存储大量数据,需要跨机器存储。HDFS(Hadoop Distributed File System)是 Hadoop 项目的一个子项目。

白鸽 5862

大数据_05 【hadoop HDFS-基本介绍】

大数据_05 【hadoop HDFS】01 Hadoop组成02 Hadoop的文件系统介绍03 HDFS分块存储05 HDFS副本机制 01 Hadoop组成 Hadoop HDFS:一个高可靠、高吞吐量的分布式文件系统,对海量数据的存储。 Hadoop MapReduce:一个分布式的资源调度和离线并行计算框架。 adoop Yarn:基于HDFS,用于作业调度和集群资源管理的框架。 Hadoop Common:Hadoop工具包,支持其他模块的工具模块(Configuration、RPC

weixin_44925086的博客 8万+

Hadoop系列 (三):HDFS详细介绍

HDFS三大组件、机制等详细介绍

Eric Ray的博客 4023

Hadoop基本介绍

1、Hadoop的整体框架 Hadoop由HDFS、MapReduce、HBase、Hive和ZooKeeper等成员组成,其中最基础最重要元素为底层用于存储集群中所有存储节点文件的文件系统HDFS(Hadoop Distributed File System)来执行MapReduce程序的MapReduce引擎。(1)Pig是一个基于Hadoop的大规模数据分析平台,Pig为复杂的海量数据并行计

技术小白 3万+

Hadoop与hdfs的认知讲解

HDFS(Hadoop Distributed File System)是Hadoop项目的一个子项目,也是Hadoop的核心组件之一。它是一个分布式文件系统,设计用于存储大型数据,如TB和PB级别的数据。文件分块存储:在HDFS中,文件在物理上是分块存储的。块的大小可以通过配置参数(dfs.blocksize)来规定。在Hadoop 2.x版本中,默认块大小是128M,而在老版本中是64M。统一的命名空间和目录树:HDFS文件系统会给客户端提供一个统一的抽象目录树。

jsb2283939167的博客 1290

hadoop核心组件——HDFS系列讲解之Fsimage,Edits详解

hadoop核心组件——HDFS系列讲解之Fsimage,Edits详解NameNode元数据解析元数据信息目录的配置FSimage文件当中的文件信息查看edits当中的文件信息查看secondarynameNode如何辅助管理FSImage与Edits文件namenode元数据信息多目录配置 NameNode元数据解析 (1)第一次启动namenode格式化后,创建fsimage和edits文件。如果不是第一次启动,直接加载edits和fsimage文件到内存。 (2)客户端对元数据进行增删改的请求。 (

LeeBoolean的博客 1171

hadoop基础概念之Hadoop核心组件

本文通过Hadoop组件,大数据处理,Hadoop核心三个方面层层递进,引出Hadoop和组件作用,对于了解和认知Hadoop具有一定的指导作用。

dashujuedu的博客 1万+

hadoop核心组件——HDFS系列讲解之HDFS的javaAPI操作

hadoop核心组件——HDFS系列讲解之HDFS的javaAPI操作获取FileSystem的几种方式递归遍历文件系统当中的所有文件下载文件到本地hdfs上创建文件夹hdfs文件上传HDFS权限问题以及伪造用户HDFS的小文件合并 获取FileSystem的几种方式 第一种方式获取FileSystem @Test public void getFileSystem() throws URISyntaxException, IOException { Configuration configurati

LeeBoolean的博客 445

Hadoop 和 Spark 的核心组件及基本概念的系统性介绍

Apache Hadoop 是一个分布式计算平台,可以在由普通服务器组成的集群中高效地存储和处理海量数据。Apache Spark 是一个基于内存计算的分布式数据处理引擎,相比 Hadoop MapReduce 提供更高的性能,并支持多种计算模型(批处理、流处理、图计算、机器学习)。

喝醉酒的小白 895

Hadoop核心组件最全介绍

Hadoop生态系统核心组件与功能摘要:Hadoop作为分布式计算平台,包含三大核心组件——HDFS(分布式存储,含NameNode和DataNode)、YARN(资源调度)和MapReduce(批处理计算)。扩展组件涵盖数据存储(HBase、Hive)、计算引擎(Spark、Flink)、资源管理(Mesos)、工作流调度(Oozie)、数据集成(Sqoop、Kafka)及安全管理(Kerberos)等。系统支持多样化数据处理场景,从批处理到实时计算,并可通过CDH等商业发行版获得企业级支持。组件选择需综

Cachel Wood的博客 2171
上一篇: Hadoop CDH 分布式环境搭建
下一篇: hadoop核心组件——HDFS系列讲解之HDFS文件读写流程
LeeBoolean
博客等级 码龄6年 12粉丝 27原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值