Hadopp入门之基础概念

Hadoop概述

Hadoop是什么

  1. Hadoop是一个由Apache基金会所开发的分布式系统基础架构
  2. 主要解决海量数据的存储和海量数据的分析计算问题
  3. 广义上来说,Hadoop通常是指一个更广泛的概念——Hadoop生态圈

Hadoop优势

  1. 高可靠性:Hadoop底层维护多个数据副本,所以即使Hadoop某个计算元素或存储出现故障,也不会导致数据的丢失。
  2. 高扩展性:在集群间分配任务数据,可方便的扩展数以千计的节点。
  3. 高效性:在MapReduce的思想下,Hadoop是并行工作的,以加快任务处理速度。
  4. 高容错性:能够自动将失败的任务重新分配

Hadoop组成

在这里插入图片描述

  1. 在Hadoop1.x 时代,Hadoop中的MapReduce同时处理业务逻辑运算和资源的调度,耦合性较大。
  2. 在Hadoop2.x时代,增加了Yarn。Yarn只负责资源的调度,MapReduce 只负责运算。
  3. Hadoop3.x在组成上没有变化

HDFS(Hadoop Distributed File System分布式文件系统)

NameNode(nn)

存储文件的元数据,如文件名,文件目录结构,文件属性(生成时间、副本数、文件权限),以及每个文件的块列表和块所在的DataNode等。

Secondary NameNode(2nn)

每隔一段时间对NameNode元数据备份。

DataNode(dn)

在本地文件系统存储文件块数据,以及块数据的校验和。
在这里插入图片描述

Yarn(Yet Another Resource Negotiato资源管理器)

在这里插入图片描述

RM(ResourceManager)整个集群资源(内存、CPU等)的管理者

NM(NodeManager)单个节点服务器资源的管理者。

AM(ApplicationMaster)单个任务运行的管理者。

Container(容器)相当于一台独立的服务器,里面封装了任务运行所需要的资源,如内存、CPU、磁盘、网络等。

说明:

  1. 客户端可以有多个
  2. 集群上可以运行多个ApplicationMaster
  3. 每个NodeManager上可以有多个Container

MapReduce

负责计算的部分,将计算过程分为两个阶段:Map、Reduce

  1. Map 阶段并行处理输入数据
  2. Reduce 阶段对Map 结果进行汇总
    在这里插入图片描述

HDFS、YARN、MapReduce 三者关系

在这里插入图片描述

  1. Client提交任务
  2. RM找NM开启一个节点AM,AM向RM申请资源,RM把申请到的资源返回给AM,AM开启MapTask (每个MapTask独立工作,负责检索一个DataNode节点),把返回的结果杰瑞ReduceTask,再记录到Name Node。

大数据技术生态体系

在这里插入图片描述
图中涉及的技术名词解释如下:

  1. Sqoop:Sqoop 是一款开源的工具,主要用于在Hadoop、Hive 与传统的数据库(MySQL)间进行数据的传递,可以将一个关系型数据库(例如 :MySQL,Oracle 等)中的数据导进到Hadoop 的HDFS 中,也可以将HDFS 的数据导进到关系型数据库中。
  2. Flume:Flume 是一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume 支持在日志系统中定制各类数据发送方,用于收集数据。
  3. Kafka:Kafka 是一种高吞吐量的分布式发布订阅消息系统。
  4. Spark:Spark 是当前最流行的开源大数据内存计算框架。可以基于Hadoop 上存储的大数据进行计算。
  5. Flink:Flink 是当前最流行的开源大数据内存计算框架。用于实时计算的场景较多。
  6. Oozie:Oozie 是一个管理Hadoop 作业(job)的工作流程调度管理系统。
  7. Hbase:HBase 是一个分布式的、面向列的开源数据库。HBase 不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。
  8. Hive:Hive 是基于Hadoop 的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的SQL 查询功能,可以将SQL 语句转换为MapReduce 任务进行运行。其优点是学习成本低,可以通过类SQL 语句快速实现简单的MapReduce 统计,不必开发专门的MapReduce 应用,十分适合数据仓库的统计分析。
  9. ZooKeeper:它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护、名字服务、分布式同步、组服务等。

推荐系统框架图

在这里插入图片描述

转载自:
https://blog.csdn.net/huxili2020/article/details/117809913

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

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

相关文章

C++指针和动态内存分配细节,反汇编,面试题05

文章目录 20. 指针 vs 引用21. new vs malloc 20. 指针 vs 引用 指针是实体,占用内存空间,逻辑上独立;引用是别名,与变量共享内存空间,逻辑上不独立。指针定义时可以不初始化;引用定义时必须初始化。指针的…

【C -> Cpp】由C迈向Cpp (5):深入构造函数

标题:【C -> Cpp】由C迈向Cpp(5) 水墨不写bug (图片来源于网络) 不抵制失败,携手失败,迈向成功 正文开始: (一)深入理解构造函数 在之前的讲解中&#x…

【手势操作-复习前一天的内容-预习今天的内容 Objective-C语言】

一、昨天呢,我们学习的是这个,事件 1.事件这一块儿呢,iOS事件,分为三大类, 1)触摸事件 2)加速计事件 3)远程控制事件 2.这个里边呢,我们主要学习的是这个触摸事件,触摸事件里边,就是Touch,touchesBegan:方法里边,有一个touches参数,它是set类型的, 3.Set,…

苹果cms:开启高速缓存加快访问速度

由于苹果cms采集的影片数据过多,如果不设置缓存,可能会造成网站访问缓慢,或者CPU消耗过高。随着用户访问量的上升,添加缓存设置是有这个必要的。目前cms提供了四种缓存方式 1)file:以文件形式,通俗说直接访问Mysql,要达…

webpack5以下的项目,前端引入node的path模块需要额外配置

webpack5以下的项目,前端import * as path from path时需要额外配置,这里以vue.config.js为例 刚开始引入时报错 其实就是在打包前端项目的时候,将path模块替换成 path-browserify 模块,所以还需要安装 path-browserfify 模块 …

锁和MVCC如何实现mysql的隔离级别

概述 MVCC解决读的隔离性,加锁解决写的隔离性。 读未提交 读未提交,更新数据大概率使用的是独享锁吧。 读已提交 在 Read Committed(读已提交)隔离级别下,每次执行读操作时都会生成一个新的 read view。这是因为在读…

探秘钱塘高中,筑梦未来之旅————杭州市钱塘高级中学

晨曦微露,书生琅琅,古韵今风交织在这方学府,滔滔的钱塘江畔,杭州市钱塘高级中学屹立于此。这所学校自1958年建校伊始,走过几十年的光辉岁月,一直致力于提供优质的教育资源。 近年来,学校获得多项…

【基础绘图】 10.饼图

效果图: 主要步骤: 1. 数据准备:自己赋值的随机数 2. 图像绘制:绘制饼图 详细代码:着急的直接拖到最后有完整代码 步骤一:导入库包及图片存储路径并设置中文字体为宋体,西文为新罗马&#…

振弦式表面应变计怎么安装

振弦式表面应变计是一种用于测量结构表面应变的高精度传感器,广泛应用于工程和科研领域。正确安装振弦式表面应变计对于确保测量结果的准确性至关重要。以下是安装振弦式表面应变计的步骤和注意事项: 1. 准备工作 在开始安装前,需要准备以下工…

13、【适配器模式】让不兼容的类能够一起工作

你好,我是程序员雪球。 今天我们来聊聊 23 种设计模式中,一种常见的结构型模式,适配器模式。聊聊它的设计思想、实现原理,应用场景,以及如何使用。 一、设计思想 在软件设计中,有时我们会遇到这样的问题&a…

AI+文旅|当智慧遇见风景,感受文旅新体验

今年的五一假期,公众出游热度持续升温,全国多地景区再现“人山人海”,在这样的背景下,促使文旅行业不断通过数字化手段,提升旅游体验质量、探索新的服务方式,AI技术的加入为旅游业带来了革命性的变化。智能导游、智能推…

10.Java对象内置结构

文章目录 Java对象内置结构1.Java对象的三个部分1.1.对象头1.2.对象体1.3.对齐字节 2.对象结构中核心字段的作用2.1.MarkWord(标记字)2.2.Class Pointer(类对象指针)2.3.Array Length(数组长度)2.4.对象体2.5.对齐字节 3.Mark Word的结构信息3.1.不同锁状态下的Mark Word字段结…

杨校老师课堂之基于SpringBoot + Vue3 的充电桩管理平台设计

获取代码: 有偿获取:mryang511688 技术栈 后端 SpringBoot MySQL MyBatis Redis 前端 Vue3.0 ElementUI-Plus Vite 3.开发环境 JDK1.8、Maven3.5.4、MySQL5.7、Redis5.0.5、IntelliJ IDEA2018、 Node14.16.1 4.内置功能 前后端分离的项目&a…

Spring AI项目Open AI绘画开发指导

Spring AI项目创建 Spring AI简介创建Spring AI项目配置项目pom和application文件controller接口开发运行测试 Spring AI简介 Spring AI 是 AI 工程的应用框架。其目标是将 Spring 生态系统设计原则(如可移植性和模块化设计)应用于 AI,并推广…

【CSP CCF记录】202206-1 归一化处理:fixed和setprecision的使用

题目 代码 注意输出精度&#xff0c;小数保留16位 使用fixed和setprecision控制输出格式 参考文章 #include<bits/stdc.h> using namespace std; const int N1010; int n; double a[N]; double average,D,f[N]; int main() {cin>>n;//计算平均值 double sum0;f…

《编译原理》阅读笔记:p4-p17

《编译原理》学习第 2 天&#xff0c;p4-p17总结&#xff0c;总计 14 页。 一、技术总结 1.structure of compiler 编译器组成包括&#xff1a;Lexical Analyzer -> Syntax Analazer -> Semantic tree -> Intermediate Code Generator -> Machine-Independent C…

IT行业现状与未来趋势-技术创新日新月异

目录 一、引言 二、IT行业现状 技术创新日新月异 市场需求持续增长 人才竞争激烈 网络安全问题凸显 三、IT行业未来趋势 人工智能将更加普及 区块链技术将改变商业模式 网络安全将成为重要战略 数字化转型将加速推进 四、结语 一、引言 随着科技的飞速发展&#x…

【静态分析】软件分析课程实验A2-常量传播和Worklist求解器

Tai-e官网&#xff1a; 概述 | Tai-e 参考&#xff1a; https://www.cnblogs.com/gonghr/p/17979609 -------------------------------------------------------- 1 作业导览 为 Java 实现常量传播算法。实现一个通用的 worklist 求解器&#xff0c;并用它来解决一些数据…

【CSP CCF记录】202209-1 如此编码

题目 过程 C中"/"的使用 当a和被b均为int, long, char这样的整数类型&#xff0c;此时除法运算的结果为所得商的整数部分&#xff0c;例如&#xff1a;180/100&#xff0c;结果为1&#xff1b; int a 180;int b a / 100;cout << b << endl;#结果为1当…

【HCIP学习】BGP对等体组、聚合、路由反射器、联盟、团体属性

一、大规模BGP网络所遇到的问题 BGP对等体众多&#xff0c;配置繁琐&#xff0c;维护管理难度大 BGP路由表庞大&#xff0c;对设备性能提出挑战 IBGP全连接&#xff0c;应用和管理BGP难度增加&#xff0c;邻居数量过多 路由变化频繁&#xff0c;导致路由更新频繁 二、解决大…