【云计算与大数据技术】大数据系统总体架构概述(Hadoop+MapReduce )

article/2025/10/23 19:47:37

一、总体架构设计原则

企业级大数据应用框架需要满足业务的需求,一是要求能够满足基于数据容量大,数据类型多,数据流通快的大数据基本处理需求,能够支持大数据的采集,存储,处理和分析,二是要能够满足企业级应用在可用性,可靠性,可扩展性,容错性,安全性和隐私性等方面的基本准则,三是要能够满足用原始技术和格式来实现数据分析的基本要求

满足大数据的V3要求  

大数据容量的加载、处理和分析 - 要求大数据应用平台经过扩展可以支持 GB、TB、PB、EB甚至ZB规模的数据集  

各种类型数据的加载、处理和分析 - 支持各种各样的数据类型,支持处理交易数据、各种非结构化数据、机器数据以及其他新数据结构  

大数据的处理速度 - 在很高速度(GB/s)的加载过程中集成来自多个来源的数据

满足企业级应用的要求

高可扩展性 - 要求平台符合企业未来业务发展要求以及对新业务的响应,要求大数据架构具备支持调度和执行数百上千节点的负载工作流

高可用性 - 要求平台能够具备实时计算环境所具备的高可用性,在单点故障的情况下能够保证应用的可用性

安全性和保护隐私 - 系统在数据采集、存储、分析架构上保证数据、网络、存储和计算的安全性,具备保护个人和企业隐私的措施

开放性 - 要求平台能够支持计算和存储数以千计的、地理位置可能不同的、可能异构的计算 节点

易用性

二、总体架构参考模型

 基于Apache开源技术的大数据平台总体架构参考模型如图所示,大数据的产生、组织和处理主要是通过分布式分拣处理系统来实现的,主流的技术是 Hadoop+ MapReduce 

其中Hadoop的分布式文件处理系统(HDFS)作为大数据存储的框架,分布式计算框架MapReduce作为大数据处理的框架

大数据基础 

这一部分提供了大数据框架的基础,包括序列化、分布式协同等基础服务, 构成了上层应用的基础

Avro - 新的数据序列化与传输工具,将逐步取代Hadoop原有的IPC机制 

ZooKeeper - 分布式锁设施 ,它是一个分布式应用程序的集中配置管理器, 用户分布式应用的高性能协同服务,由 Facebook贡献,也可以独立于 Hadoop使用。 

大数据存储 

HDFS是Hadoop分布式文件系统, HDFS运行于大规模集群之上, 集群使用廉价的普通机器构建, 整个文件系统采用的是元数据集中管理与数据块分散存储相结合的模式, 并通过数据的冗余复制来实现高度容错

大数据处理 

基于 MapReduce写出的应用程序能够运行在由上千个普通机器组成的大型集群上, 并以一种可靠容错的方式并行处理TB级别以上的数 据集

大数据访问和分析

在 Hadoop + MapReduce之上架构的是基础平台服务,在基础平台之上是大数据访问和分析的应用服务

Pig - Pig支持的常用数据分析主要有分组、过滤、合并等,Pig为创建 Apache MapReduce应用程序提供了一款相对简单的工具

Hive - Hive是由Facebook贡献的数据仓库工具, 是MapReduce实现的用来查询分析 结构化数据的中间件

Sqoop - Sqoop由Cloudera开发,是一种用于在 Hadoop与传统数据库间进行数据传递的开源工具

Mahout  -  Apache Mahout 项目提供分布式机器学习和数据挖掘库

创作不易 觉得有帮助请点赞关注收藏~~~


http://chatgpt.dhexx.cn/article/Y6SA4gV1.shtml

相关文章

大数据系统计算技术展望

大数据是新一代信息技术的核心方面和竞争前沿,也是制约大数据产业快速发展的关键瓶颈。大数据技术创新能力已经成为后信息时代衡量国家竞争力的重要指标。与传统信息产业的发展过程相似,大数据必将逐渐形成一个相对独立、体系完善的产业形态,…

什么是大数据系统架构

大数据的应用开发过于偏向底层,具有学习难度大,涉及技术面广的问题,这制约了大数据的普及。现在需要一种技术,把大数据开发中一些通用的,重复使用的基础代码、算法封装为类库,降低大数据的学习门槛&#xf…

大数据系统的基础,大数据存储和计算技术

在存储方面,2000 年左右谷歌等提出的文件系统(GFS)、以及随后的 Hadoop 的分布式文件系统 HDFS(Hadoop Distributed File System)奠定了大数据存储技术的基础。 与传统系统相比,GFS/HDFS 将计算和存储节点在物理上结合在一起,从而避免在数据…

大数据系统架构的基本介绍

从数据处理的一般流程可以看到,在大数据环境下需要的关键技术主要针对海量数据的存储和海量数据的运算。传统的关系数据库经过近40年的发展已经成为了一门成熟同时仍在不断演进的数据管理和分析技术,结构化查询语言(SQL)作为存取关…

大数据系统开发综合实践(一)

又来了新的任务,需要学习一些大数据开发的相关操作,其实之前学过一些内容,但是当初没有好好学,现在还得重新学习起来。 大数据系统中各种模块的作用 HDFS:分布式文件系统,用来存储数据 YARN:用…

大数据系统体系架构(含图示)

目录 1 大数据体系架构图2 数据采集层3 数据计算层4 数据服务层5 数据应用层 1 大数据体系架构图 2 数据采集层 阿里的的日志采集包括两大体系: Aplus.JS是Web端的日志采集技术方案,UserTrack是APP端的日志采集技术方案;在采集技术基础上&am…

大数据系统基础

注:本文是学习由清华大学王建明等老师的公开课大数据系统的笔记。 大数据系统基础 绪论 1、什么是大数据 我们的生活无时无刻不在产生着数据,那是什么在处理这些庞大的数据呢? 1、大数据的定义? 大数据(big data)&#xff0c…

大数据系统架构

大数据系统大体可以分成以下四个部分: 1,数据采集层 2,数据计算层 3,数据服务层 4,数据应用层 下图是阿里巴巴大数据系统架构图: 一、数据采集层 数据采集主要分成以下三块数据: 1&#xff0c…

大数据系统及分析

IDC将大数据技术定义为:“为更经济地从高频率的、大容量的、不同结构和类型的数据中获取价值而设计的新一代架构和技术。” 大数据的关键在于种类繁多、数量庞大、使用传统的数据分析工具无法在可容忍的时间内处理相应的数据。大数据分析主要涉及两个不同的领域&…

大数据测试之大数据系统及特点

一、大数据系统简介 扫健康码了没?相信大家每天都会不厌其烦地听到这种询问。 支付宝付款,相信大家也是每天都在扫码付款,这已经成为了生活的一部分。 这些能产生非常巨量数据的应用系统,我们称之为大数据系统。 大数据系统还需要…

QMap与Json相互转换

在Qt中可以用QJsonDocument、QJsonParseError、QJsonObject、QJsonArray、QJsonValue等类来解析json数据,但这种解析有时比较麻烦,代码量也比较多,其实也可以用QMap来解析Json数据,并且QMap和Json可以 相互转换,下面来…

QMap 和 QHash容器

QMap类、 QHash类 QMap与QHash差别&#xff1a; ①QHash比QMap查找速度更快。 ②QHash以任意顺序存储&#xff0c;QMap以Key顺序存储数据。 ③QHash的Key必须提供operator()及一个全局的qHash(Key)函数&#xff0c;而QMap的Key必须提供operator<()函数。 存储一键多值数据时…

关于QMap的几点总结思考

关于QMap的几点总结思考 题记&#xff1a; 前段时间集中精力写了数据的分拣算法&#xff0c;用到了容器QMap和QMultiMap。回头再来回去该算法的时候&#xff0c;又觉得当时好像不是自己写的一样&#xff0c;于是有必要将QMap类来总结一下。 首先来了解下C中STL中的map&#x…

Qt容器:QMap

一、描述 QMap<Key, T> 是 Qt 的通用容器类之一。 它存储&#xff08;键&#xff0c;值&#xff09;对并提供按键快速查找。 二、成员函数 1、QMap::const_iterator constFind(const Key &key) 返回一个 const 迭代器&#xff0c;该迭代器指向map中具有 key 键的项…

java swing 实现简单计算器

gitee仓库地址&#xff1a;Calculator: 简单计算器 (gitee.com)https://gitee.com/misaka10000/calculator 常量定义&#xff1a; package com.wuzihao.calculator;import java.awt.*;public class Constant {public static final String NAME "简单计算器";publi…

C++实现“简单计算器”

最近在看九度上面的题目&#xff0c;其中一道题本以为比较简单&#xff0c;但花了不少时间&#xff0c;题目如下&#xff1a; 题目1019&#xff1a;简单计算器 我的思路是先读入一个字符串&#xff0c;再将字符串里面的数字和运算符号分别提取出来&#xff0c;最后根据运算的…

C++ 简单计算器

C实现简单的计算器 实现一个简单的计算器&#xff0c;可以实现对数字的加减乘除运算并输出显示结果。 完整代码 #include <iostream> using namespace std;int main() {char op;float num1, num2;cout << "输入运算符&#xff1a;、-、*、/ : ";cin &…

简单的计算器

实例说明 从键盘上输入数据并进行加、减、乘、除四则运算&#xff08;以“a运算符b” 的形式输入〕&#xff0c;判断输入的数据是否可以进行计算&#xff0c;若能计算&#xff0c;则输出计算结果。 实现代码 实现结果

C语言实现简单计算器

C语言实现简单计算器 一、背景二、代码1、数据结构2、弟弟行为的编程三、基本逻辑中缀转后缀&#xff08;1&#xff09;为什么要转&#xff08;2&#xff09;怎么转&#xff08;3&#xff09;注意事项 四、演示图片 一、背景 自己希望通过这个处女帖&#xff0c;来互相学习、经…

PHP实现简单计算器

目录 一、题目&#xff1a; 二、基本界面设计代码&#xff1a; 三、分析&#xff1a; 四、实现编程三个步骤 五、完整实现代码 一、题目&#xff1a; 题目描述&#xff1a;下列列表框中有、-、*、/四种运算符&#xff0c;选择不同的运算符进行&#xff0c;单击计算按钮进行不…