大数据基础知识及分布式存储原理

分布式存储 HDFS原理 大数据基础知识 一、什么是大数据 短时间内快速产生的海量的多种多样的有价值的数据。 大数据的技术: 1、分布式存储: 2、分布式计算: 1)分布式批处理: 当数据积累一定的时间后(假设一个月),进行统一的处理。 2)分布式流处理 分布式流处理是一个实时的处理。即数据生成后立即处理。 例子: 11.11天猫大屏幕 QQ实时在线的分布情况 3、机器学习 凡是预测类的都是机器学习。 分布... 阅读详情

什么是大数据(Big Data)

大数据概念

大数据是指海量数据或巨量数据,其规模巨大到无法通过目前主流的计算机系统在合理时间内获取、存储、管理、处理并提炼以帮助使用者决策。
短时间内快速的产生海量的多种多样的有价值的数据。

大数据技术:

分布式存储

分布式计算

  1. 分布式批处理
    攒一段时间的数据,然后再未来某一个时间来处理这批数据

  2. 分布式流处理(实时处理)
    数据不需要积攒,直接处理,每产生一条数据,立马对这条数据进行处理,将结果推送到前端,如双十一的天猫大屏幕,qq实时在线分布情况

  3. 机器学习

分布式存储

HDFS

HDFS(Hadoop Distributed File System)是Hadoop项目的核心子项目,是分布式计算中数据存储管理的基础,是基于流数据模式访问和处理超大文件的需求而开发的,可以运行于廉价的商用服务器上。它所具有的高容错、高可靠性、高可扩展性、高获得性、高吞吐率等特征为海量数据提供了不怕故障的存储,为超大数据集(Large Data Set)的应用处理带来了很多便利。

HDFS原理

Client(客户端)
  1. 文件切分。文件上传 HDFS 的时候,Client 将文件切分成 一个一个的Block,然后进行存储。
  2. 与 NameNode 交互,获取文件的位置信息。
  3. 与 DataNode 交互,读取或者写入数据。
  4. Client 提供一些命令来管理 HDFS,比如启动或者关闭HDFS。
  5. Client 可以通过一些命令来访问 HDFS。
NameNode

Namenode存放文件系统树及所有文件、目录的元数据。就是 master,它是一个主管、管理者。
6. 管理 HDFS 的名称空间。
7. 管理数据块(Block)映射信息
8. 配置副本策略
9. 处理客户端读写请求。

Secondary NameNode

模拟执行edits文件,产生元数据,将元数据与fsimage合并完成后,将新的fsimage推送给namenode

合并机制过程

Secondary NameNode节点的工作流程:
1)、定期的通过远程方法获取NameNode节点上编辑日志(edits)的大小;
2)、如果NameNode节点上编辑日很小,就不需要合并NameNode上的fsimage文件和编辑日志;
3)、通过远程接口启动一次检查点过程,这时名字节点NameNode需要创建一个新的编辑日志文件edits.new,后续对文件系统的任何修改都记录到这个新编辑日志里;
4)、SecondNameNode点将Namenode上的fsimage文件和原编辑日志下载到本地,并在内存中合并,合并的结果输出为fsimage.ckpt;
5)、再次发起请求通知NameNode节点数据(fsimage.ckpt)已准备好,然后NameNode节点会下载fsimage.ckpt(并替换掉原来的fsimage);
6)、NameNode下载结束后,Secondary NameNode会通过远程调用(NameNodeProtocol.rollFsImage())完成这次检查点,NameNode在响应该远程调用时,会用fsimage.ckpt覆盖原来的fsimage文件,形成新的命名空间镜像,同时将新的编辑日志edits.new改名为edits。
并不是所有元数据都会持久化
合并触发机制:

  1. 超过3600ms
  2. edits文件超过64mb
DataNode

主要功能:存储数据块(block)默认大小为128mb
DN启动时会向NN汇报block信息,并且之后通过向NN发送心跳保持联系(3秒一次),如果NN在10分钟内没有收到DN的心跳,就认为该DN已经lost,并copy其上的block到其他DN。

HDFS读写流程

读流程

hdfs读流程

  1. 客户端发送请求
  2. Namenode返回所有block的位置信息,并将这些信息返回给客户端
  3. 客户端拿到block的位置信息后调用方法读取block信息
  4. datanode返回给客户端
写流程

hdfs写流程

  1. 客户端发送请求
  2. namenode根据以上信息算出文件需要切成多少块block,以及block要存放在哪个datanode上,并将这些信息返回给客户端。
  3. 客户端调用方法首先将其中一个block写在datanode上,每一个block默认都有3个副本,并不是由客户端分别往3个datanode上写3份,而是由已经上传了block的datanode产生新的线程,由这个namenode按照放置副本规则往其它datanode写副本
  4. 写完后返回给客户端一个信息,然后客户端在将信息反馈给namenode

HDFS备份机制

  1. 第一个block存储在负载不是很高的一台服务器
  2. 第一个备份的block存储在与第一个block不同的机架随机一条服务器上
  3. 第二个备份在与第一个备份相同的机架随机一台服务器

HDFS权限

依据Linux系统的用户系统 默认权限

HDFS安全模式

  1. 加载fsimage,加载到内存中
  2. 如果edits文件不为空,那么namenode自己来合并
  3. 检查DN的健康情况
  4. 如果有DN挂掉,指挥做备份
    处于安全模式过程中,如果fsimage已经加载到内存中,可以查看到文件目录,但是无法读取处于安全模式过程中,如果fsimage已经加载到内存中,可以查看到文件目录,但是无法读取
存储基础知识分享 本文分享了存储硬件基础知识和主流存储技术。首先介绍了磁带、光盘、磁盘等存储介质,详细讲解了机械硬盘和SSD的结构特点,以及SATA、SCSI等磁盘接口协议。然后重点解析了RAID技术的原理、级别和应用场景,对比了SAN和NAS架构特点。在然后阐述了分布式文件系统分类(文件存储、块存储、对象存储),并分析了HDFS、GlusterFS、Ceph等主流分布式存储系统的优缺点。最后讨论了存储性能指标(IOPS、吞吐量)、RAID写惩罚、存储可靠性等关键技术要点。全文系统梳理了从底层硬件到上层架构的存储知识。 阅读详情

相关推荐

大数据领域分布式存储的核心原理深度剖析

所有节点在同一时间看到的数据是。

架构师的AI之路,分享AI应用开发架构的学习与实践。 902

分布式数据存储原理简介

什么是分布式数据存储系统 分布式存储系统的核心逻辑,就是将用户需要存储的数据根据某种规则存储到不同的机器上,当用户想要获取指定数据时,再按照规则到存储数据的机器里获取。 如下图所示,当用户(即应用程序)想要访问数据 D,分布式操作引擎通过一些映射方式,比如 Hash、一致性 Hash、数据范围分类等,将用户引导至数据 D 所属的存储节点获取数据。 静下心来想一下,获取数据的整个过程与你到商店...

m0_37607365的博客 8503

分布式存储:大数据领域的存储革命

当我们谈论“大数据”时,往往首先想到的是数据处理——比如AI训练、实时分析、机器学习模型。没有分布式存储,就没有真正的大数据。传统集中式存储像一只“木桶”:容量受限于最长的木板(单台设备的性能),一旦某块木板断裂(设备故障),整个木桶就会漏水(数据丢失)。而分布式存储则像“蜂巢”:无数个小蜂房(存储节点)通过协作形成一个整体,容量可以无限扩展,单个蜂房的损坏不会影响整个蜂巢的运行。这篇文章将从背景痛点核心概念技术原理实际应用到未来趋势,一步步拆解分布式存储的“革命逻辑”。

AI Python 编程之道的博客 878

大数据之分布式理论

文章目录1. 分布式理论基础1.1. 2PC和3PC(解决一致性)1.1.1. 一致性是什么1.1.2. 一致性的两个属性(无法同时保证)1.1.3. 3PC(三阶段提交)1.2. CAP定理1.2.1. CAP描述1.2.2. CAP分析1.2.3. 总结1.3.逻辑时钟1.3.1 Lamport timestamp1.3.2 Vector timestamp1.3.3 Version timestamp 1. 分布式理论基础 1.1. 2PC和3PC(解决一致性) 1.1.1. 一致性是什么 一致性问题

qq_38815481的博客 1314

大数据领域分布式存储与传统存储的对比分析

在大数据时代,数据的存储和管理面临着巨大的挑战。不同规模、类型和应用场景的数据需要合适的存储解决方案。本文的目的在于对大数据领域中的分布式存储和传统存储进行全面、深入的对比分析,明确它们各自的优缺点、适用场景等,为数据存储方案的选择提供参考。范围涵盖了两种存储方式的核心概念、架构原理、性能指标、应用场景等方面。本文首先介绍相关的核心概念和它们之间的联系,通过文本示意图和 Mermaid 流程图进行直观展示。接着阐述两种存储方式的核心算法原理和具体操作步骤,并给出 Python 源代码示例。

大数据洞察的博客 1313

大数据领域分布式存储的交通数据存储应用

随着城市化进程的加速和智能交通系统的发展,交通数据呈现出爆炸式增长。这些数据包括车辆的位置信息、速度、交通流量、道路状况等,具有数据量大、多样性、实时性强等特点。传统的数据存储方式已经难以满足交通数据存储和处理的需求。本研究的目的是探讨大数据领域中分布式存储技术在交通数据存储方面的应用,以解决交通数据存储面临的挑战,提高数据存储的效率、可靠性和可扩展性。本研究的范围涵盖了分布式存储的基本概念、核心算法,交通数据的特点和分类,以及分布式存储在交通数据存储中的具体应用场景和实现方法。

大数据洞察的博客 799

大数据分布式存储原理

大数据基础 1.什么是大数据 短时间内快速的产生海量的多种多样的有价值的数据 2.大数据技术 2.1 分布式存储 2.2 分布式计算 ① 分布式批处理(无法实现预测) 存一段时间的数据,等到将来某一时刻时再进行处理 ② 分布式流处理(实时处理)(无法实现预测) 数据不需要攒,直接处理,每产生一条数据,立马对这条数据进行处理。 2.3 机器学习 可以实现预测 3.分布式存储原理 3.1主要概念:元数...

dmbds20的博客 5899

大数据领域分布式存储的数据归档策略

在大数据环境下,数据的存储和管理面临着巨大的挑战。数据量的快速增长使得存储成本不断攀升,同时,不同类型和用途的数据对存储性能、可用性和安全性的要求也各不相同。本文章的目的在于探讨分布式存储环境下的数据归档策略,以帮助企业和组织更有效地管理大数据,优化存储资源,降低成本,提高数据的可访问性和可用性。本文的范围涵盖了大数据领域分布式存储的基本概念、数据归档的核心原理、常见的数据归档算法和策略、相关的数学模型和公式,以及实际的项目案例和应用场景。

大数据洞察的博客 1173

大数据分布式系统原理概述

一、分布式系统的理论 1、CAP原理   CAP原理指的是,一致性(Consistency)、可用性(Availability)、分区容忍性(Partition tolerance)这三个要素最多只能同时实现两点,不可能三者兼顾。因此在进行分布式架构设计时,必须做出取舍。而对于分布式数据系统,分区容忍性是基本要求 ,否则就失去了价值。因此设计分布式数据系统,就是在一致性和可用性之间取一个平衡。...

wenxinfly的专栏 3703

从零到一:Bioconductor新手入门与R包安装实战

本文详细介绍了Bioconductor在生物信息学中的重要性及其R包安装实战指南。从环境准备到BiocManager的使用,再到常见问题排查,帮助新手快速掌握这一强大工具。特别推荐org.Hs.eg.db等核心工具包,助力基因注释和功能分析,提升研究效率。

weixin_29061041的博客 418

泛微Ecology流程数据表结构解析:workflow_requestbase和workflow_currentoperator到底怎么关联查询?

本文深入解析泛微Ecology系统中workflow_requestbase和workflow_currentoperator表的结构与关联机制,提供SQL查询语句示例,帮助开发者高效查询流程数据。涵盖待办事项、已办事项、办结事项和流程监控等典型场景,并分享性能优化技巧和常见问题排查指南。

weixin_33738555的博客 804

大数据存储原理

MySQL数据库连接密码Mysql123456### 虚拟机用户名和密码naya:3xroot 虚拟机(virtual machine),就是通过软件技术虚拟出来的一台计算机。常见的虚拟机软件有 VMware Workstation(简称 VMware)、VirtualBox、Microsoft Virtual PC 等,其中 VMware 市场占有率最高,我们使用 VMware进行 Linux 的安装,Vmware 可以同时运行多个操作系统,可以像 Windows 应用程序一样来回切换。下载好VMware

的博客 525

Aloudata Agent :基于 NoETL 明细语义层的分析决策智能体

这是包括我们在内的一些厂商探索的一个新方向,这种方式先由大模型将自然语言转化为对指标语义层的查询请求(MQL,Metrics Query Language),再由指标平台将指标和维度的查询与计算逻辑转化为准确的 SQL 查询语句。用户查询经大模型语义解析后,将其转换为指标、维度及筛选条件的组合表达,并生成面向指标平台的 MQL,Aloudata CAN 指标平台的语义引擎将 MQL 转换为准确和可执行的查询 SQL,语义引擎内置函数体系与 SQL 解析器,确保语义转换的 100% 准确性。

Aloudata的博客 1663

大数据之初步了解HDFS、Hadoop和MapReduce

想学好大数据,首先要了解他的基础,所以,我们需要先了解HDFS和Hadoop以及MapReduce。 首先大家思考一个问题:如何合理的存储10T的电信通话记录? 下面给大家展现一个图片: 入的知识点: 元数据:描述数据的数据,主要描述数据的属性的信息,用来指示存储位置,历史数据文件查找和文件记录等功能; NameNode:文件管理 DataNode:真是存储数据,数据存储 ...

大数据领航者 271

SAP ABAP实战:手把手教你用BAPI_BILLINGDOC_CREATEMULTIPLE批量开票(附完整代码与避坑指南)

本文详细解析了SAP ABAP中BAPI_BILLINGDOC_CREATEMULTIPLE批量开票的全流程,包括参数配置、事务控制、错误处理及性能优化。通过实战案例和完整代码示例,帮助开发者高效处理大批量发票生成任务,避免常见陷阱,提升开发效率。

weixin_34101914的博客 265

creo二次开发使用映射

在creo进行二次开发时,一些无法直接通过访问底层代码来对特征进行操作,比如“镜像装配”,这个时候就可以使用映射(Mapkey)来完成一键镜像。 注:这是镜像装配的代码 ProError status; ProMacro macro; wstring Macro; strMacro = L"mapkey(continued) ~ Command ProCmdMirrorAssem ; mapkey(continued) ~ Activate mirror_component_dialog Sy

qq_49328512的博客 1607

数字电路数据选择器及其应用实验报告_岂止于大,一文读懂大数据及其在推荐系统的应用...

本系列文章将从最简单的概念开始,逐步讲解推荐系统的发展历程和最新实践。以产品经理的视角,阐述推荐系统涉及的算法,技术和架构。本章是第三章,将系统性地介绍推荐系统的基石之一:大数据。大数据是数据智能时代的“铁公基”,是一系列计算和存储的基础设施。推荐系统也是建立在大数据的基础之上的,大量的数据挖掘和模型训练都离不开大数据。大数据这个名词起的很好,对于非技术人员来说也能get到大的含义:数据量大,算力...

weixin_39816362的博客 841

Java Swing教程-16. Swing中的图形绘制

这篇教程介绍了Java Swing中的图形绘制功能,主要内容包括: Graphics类的基本使用 - 介绍了如何重写paintComponent方法实现自定义绘制,以及基本图形绘制方法(线条、矩形、椭圆、多边形等) 文本与图片绘制 - 讲解了文本绘制方法、字体设置和图片加载绘制技术 颜色与字体设置 - 包括预定义颜色、RGB自定义颜色、透明色设置以及字体样式控制 案例实现 - 提供了一个简单绘图程序的框架,支持鼠标绘制不同图形、选择工具和自定义颜色等功能 教程通过代码示例详细演示了各种绘图操作,适合Java

无 232

hadoop快速入门,我们究竟还要学习哪些大数据开发知识

hadoop fs -mv [-p] hdfs路径 hdfs路径。hadoop fs -put -f -p linux路径 hadoop路径。hdfs dfs -mv [-p] hdfs路径 hdfs路径。hdfs dfs -put -f -plinux路径 hadoop路径。hadoop dfs -rm [-r] [-f] hdfs路径。hdfs dfs -sp hadoop路径 hadoop路径。hdfs dfs -rm [-r] [-f] hdfs路径。

2401_84164672的博客 971

玩转Docker小游戏项目系列: Docker部署红心纸牌网页小游戏

玩转Docker小游戏项目系列: Docker部署红心纸牌网页小游戏

jks212454的博客 420

Java 部分笔试题解析

合法的 try 语句块必须包含 try 块,并且至少包含一个 catch 块或一个 finally 块。给定一个长度为n的数组,数组中的每个元素,表示一根水管的长度,水管可以在任意位置锯开。调用 sleep() 方法、创建新线程、高优先级线程进入就绪状态只会暂停或抢占线程的执行,而不会终止线程的运行。A.抽象类中可以包含非抽象的普通方法,接口中的方法必须是抽象的,不能有非抽象的普通方法。接口中的成员变量必须是常量(static final),而抽象类可以有普通成员变量。

博客 2577

大数据领域分布式存储的分布式存储网络优化

在大数据时代,数据量呈现出爆炸式增长,传统的集中式存储方式已难以满足数据存储和管理的需求。分布式存储系统凭借其可扩展性、高可用性和容错性等优势,成为大数据存储的主流解决方案。然而,分布式存储网络中的数据传输瓶颈、网络拥塞等问题严重影响了系统的性能。本文的目的在于深入探讨分布式存储网络优化的方法和策略,涵盖网络拓扑优化、数据传输协议优化、负载均衡算法优化等多个方面,以提高分布式存储网络的性能和效率。本文将首先介绍分布式存储网络的核心概念和相关联系,包括分布式存储的基本原理、网络拓扑结构等。

架构师的AI之路,分享AI应用开发架构的学习与实践。 1210

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

一文看透大数据分布式存储的技术本质与应用价值

通过本文,我们不仅“看透”了分布式存储的技术本质——它不是“黑科技”,而是通过算法(如一致性哈希、Raft)和架构(如集群化、分层存储)解决“数据管理难题”的工程实践;云对象存储的底层仍是分布式存储集群(如AWS S3基于自研的分布式系统,阿里云OSS基于飞天分布式存储),但通过“服务化”包装(API、控制台、SDK)屏蔽了底层复杂度,让用户“开箱即用”。(容错、一致性、扩展性),再通过主流系统(HDFS、Ceph、云存储)的深度对比,揭示其“能存、能保、能用、能扩”的底层逻辑。

AI大模型应用之禅 877

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

BFU-Bigdata 大数据技术基础期末总结

北京林业大学大数据技术基础专选课期末总结提纲(学长亲自整理数十个PPT,万字提纲,防挂必看)

xiaoze_accepted的博客 2652

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

大数据领域分布式存储的常见问题及解决方案

本文章的主要目的是系统地分析大数据领域分布式存储过程中遇到的常见问题,并针对这些问题提出切实可行的解决方案。范围涵盖了分布式存储的各个方面,包括数据一致性、可靠性、性能、安全等,旨在为大数据从业者、研究人员以及对分布式存储感兴趣的读者提供深入的技术解读和实践指导。本文首先介绍分布式存储的核心概念和相关联系,包括其原理和架构。接着详细阐述核心算法原理和具体操作步骤,并用Python代码进行说明。然后引入数学模型和公式,通过举例进一步讲解。之后通过项目实战案例,展示代码的实际应用和详细解读。

专注搜索引擎技术 770
下一篇: 分布式存储(hdfs)思维导图
thyyyyyyy
博客等级 码龄8年 16粉丝 15原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值