Hadoop全集1-Hadoop简介

2023-11-19

Hadoop全集1-Hadoop简介


前言

  《大数据时代》有这么一句话,大数据时代的到来,可能要求 IT 将重点从 T(Technology/技术)转向 I(Information/信息)。对于行业来说,I(数据)是资源之源,数据越发膨胀,重要性也越发突出。作为大数据工程师,越发了解 I(数据)的重要性,就越是要熟练使用 T 工具来存储挖掘处理 I。本系列博文旨在记录大数据技术,包括技术的使用,调优,架构以及源码等层面,以不断增强博主对它们的理解。系列第一篇,就从大数据开山之作--Hadoop开始!

 

一、Hadoop是什么

 
  Hadoop是大数据领域的开山之作,是一个由Apache基金会所开发的分布式系统基础架构。其目的是解决海量数据的存储和计算问题。从2001年Hadoop成为Apache开源项目起,20年间以Hadoop为核心,出现了处理大数据各类问题的优秀产品,所以广义的Hadoop指的是Hadoop生态
在这里插入图片描述
 

二、Hadoop的优势

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

 

三、Hadoop的组成

1、HDFS

  Hadoop Distributed File System,简称HDFS,Hadoop分布式文件系统,是Hadoop海量数据储存的解决方案
  HDFS将海量数据分散储存到多个数据节点DataNode,不同DataNode存在于不同机器。资源管理者NameNode,将数据的元数据储存在本节点的目录结构中。在HDFS客户端请求存储或读取时,NameNode首先通过查询元数据,再分配储存或读取节点信息,从而提供分布式的数据存储服务

NameNode是资源管理者:
(1) 管理HDFS的名称空间;
(2) 配置副本策略;
(3) 管理数据块(Block)映射信息;
(4) 处理客户端读写请求。
DataNode是Slave,执行实际的操作:
(1) 存储实际的数据块;
(2) 执行数据块的读/写操作。
在这里插入图片描述

 

2、MapReduce

 
  MapReduce的作用就是处理海量数据计算,它是-个分布式运算程序的编程框架,开发人员可以再这个框架中编写数据计算代码。MapReduce 核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序,并发运行在一个 Hadoop 集群上

MapReduce核心思想:
(1)分布式的运算程序往往需要分成至少 2 个阶段。
(2)第一个阶段的 MapTask 并发实例,完全并行运行,互不相干。
(3)第二个阶段的 ReduceTask 并发实例互不相干,但是他们的数据依赖于上一个阶段数据的所有 MapTask 并发实例的输出。
(4)MapReduce 编程模型只能包含一个 Map 阶段和一个 Reduce 阶段,如果用户的业务逻辑非常复杂,那就只能多个 MapReduce 程序,串行运行。
在这里插入图片描述
 

3、Yarn

 
  Yarn --Yet Another Resource Negotiator 简称 YARN ,是 Hadoop2.x 版本中的一个新特性。将Yarn从MapReduce中解耦出来,作为资源调度平台,负责为运算程序提供服务器运算资源,相当于一个分布式的操作系统平台,现在的 MapReduce 等运算程序则相当于运行于操作系统之上的应用程序。
  YARN 主要由 ResourceManager、NodeManager、ApplicationMaster 和 Container 等组件
构成。
在这里插入图片描述

小结

  本系列博文是博主的个人知识归纳,后续会坚持更新整理所得。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Hadoop全集1-Hadoop简介 的相关文章

随机推荐

  • 关于nlp-pyltp的基本介绍和使用

    一 下载 ltp 模型 ltp data v3 4 0 pyltp 1 ltp模型下载地址如下 https download csdn net download TFATS 12758993 2 下载pyltp如下 pip install
  • 编译linux内核成vmlinuz,内核编译之vmlinuz vmlinux system.map initrd

    一 vmlinuz vmlinuz是可引导的 压缩的内核 vm 代表 Virtual Memory Linux 支持虚拟内存 不像老的操作系统比如DOS有640KB内存的限制 Linux能够使用硬盘空间作为虚拟内存 因此得名 vm vmli
  • 使用Minitab解决Excel的限制问题

    前两天 当我在做数据转置以期获得更好分析图形的时候 我碰到了传说中excel的限制 如图 在解决这个问题的过程中 我发现了用来做数据分析 比excel更好的工具Minitab 打开minitab 把纪录数据的Excel表以File gt O
  • pageaudit 属性不正确。_浅析script 标签的 async 和 defer 属性

    每日前端夜话 第420篇 正文共 1500 字 预计阅读时间 7 分钟 前端当然要从 HTML 开始 今天来聊聊在 script 标签中加上 async defer 时的功能及差异 都明白的道理 我们都知道 浏览器解析 HTML 是一行一行
  • 【Xilinx Vivado时序分析/约束系列4】FPGA开发时序分析/约束-实验工程上手实操

    目录 建立工程 添加顶层 模块1 模块2 添加约束文件 编辑时钟约束 打开布线设计 代码代表的含义 时序报告 进行时序分析 Summary 包含了汇总的信息量 Source Clock Path 这部分是表示Tclk1的延时细节 Data
  • 数字后端知识点扫盲——CTS (上)

    后端和前端一样在IC设计中扮演着非常重要的角色 甚至可以说入门的前端设计工程师对timing的理解远不如一个后端设计工程师 因此想要更好的理解电路的timing在后端P R之后或者说在大规模的设计中后端如何实现clock对DFF的驱动 就需
  • VM16 CentOS 快照恢复以及Linux自动修复指令

    目录 快照恢复 自动修复磁盘 快照恢复 点击上图的拍摄快照 即可进行CentOS 6的虚拟机系统备份 需要恢复系统 就点击之前备份过的快照记录 即可恢复系统 自动修复磁盘 当Linux启动时出现 UNEXPECTED INCONSISTEN
  • 【threejs】根据点绘制直线

    实现代码
  • 东京大学最新研究成果!一种可实现陆空两栖的新型四足机器人SPIDAR,具备多模态运动能力

    原创 文 BFT机器人 现实中 蜘蛛可以凭借飘荡的蛛丝在空中漂浮 让它们能够穿越复杂地形 普通蜘蛛长度只有几毫米 重量只有几十克 如何让比蜘蛛重数百倍的机器人实现多模态运动 是众多学者研究的热点 具有多模态运动能力的机器人 几乎都是移动系统
  • ESP32-C2开发板 Homekit烧录教程

    准备 1 1硬件ESP32 C2开发板 如图1 1所示 图1 1 ESP32 C2开发板 1 2软件 CozyLife APP可以在各大应用市场搜索下载 也可以扫描二维码下载如图1 2所示 HomeKit flash download to
  • 【Maven】maven如何配置本地仓库?

    前言 很多小伙伴不清楚怎么配置maven本地仓库 这里给大家分享一下方法 如果觉得有用的话 记得点赞支持哦 1 创建新的路径 maven默认的存放路径是C盘 在你想要的位置创建一个存放maven repository的路径 我是创建在了D盘
  • 读取其他进程内存数据

    1 读取进程内存数据 读取其他进程内存数据 需要用到的windows API函数 BOOL ReadProcessMemory HANDLE hProcess LPCVOID lpBaseAddress LPVOID lpBuffer DW
  • Mysql-DML(数据处理语言)

    插入数据 insert into member values 1 张三 21 5000 insert into member id name values 2 李四 insert into member values 3 王五 23 300
  • typedef struct 用法详解

    typedef为C语言的关键字 作用是为一种数据类型定义一个新名字 当typedef与结构结合使用时 会有一些比较复杂的情况 而且在C语言和C 里面有略有差别 本文将详细讲解typedef struct的用法 第一篇 typedef str
  • C++异常处理

    如果你写的方法是给他人使用 那么 如果这个方法失败 最好是以抛异常的方式告诉别人 而不是在方法声明的地方写注释 0 成功 1 网络连接失败 3 参数错误 抛出异常 throw 1 抛出 int 类型异常 throw 1 2 抛出 doubl
  • Qt中QSplitter使QWidget改变屏占比

    Qt系列文章目录 文章目录 Qt系列文章目录 前言 一 QSplitter是什么 二 具体代码 1 头文件 2 实现文件 总结 前言 在Qt中把QWidget窗体三等分 我想实现QWidget中的三等分窗口能够像QDockWidget类一样
  • 【Python3.8】ctypes加载dll: 报错 FileNotFoundError: Could not find module ‘xx.dll’ (or one of its

    问题 Python3 8 使用ctypes加载dll时报错 FileNotFoundError Could not find module xxx dll or one of its dependencies Try using the f
  • 二、EulerOS 基础命令行

    一 Linux命令基础知识 1 1 Linux的 GUI 与 CLI GUI Graphical User Interface 图形用户界面 用户界面的所有元素图形化 主要使用鼠标作为输入工具 使用按钮 菜单 对话框等进行交互 追求易用 C
  • vue3页面跳转

    vue3的页面跳转有两种方式 第一种是标签内跳转 第二种是编程式路由导航 1
  • Hadoop全集1-Hadoop简介

    Hadoop全集1 Hadoop简介 文章目录 Hadoop全集1 Hadoop简介 前言 一 Hadoop是什么 二 Hadoop的优势 三 Hadoop的组成 1 HDFS 2 MapReduce 3 Yarn 小结 前言 大数据时代