Hadoop 的基础知识

news2024/10/7 20:30:07

Hadoop 的基础知识

    • 1. Hadoop 简介
    • 2. Hadoop 的发展简史
    • 3. Hadoop 现状
    • 4. Hadoop 特性优点
    • 5. Hadoop 发行版本
    • 6. Hadoop 架构变迁
    • 7. Hadoop 集群集体概念

1. Hadoop 简介

Hadoop 官网: https://hadoop.apache.org/

Apache Hadoop 软件库是一个框架, 是 Apache 软件基金会的一款开源软件, Java 语言实现的. 允许使用简单的编程模型跨计算机集群分布式处理大型数据集. 它被设计为从单个服务器扩展到数千台机器, 每台机器都提供本地计算和存储. 与其依赖硬件来提供高可用性, 库本身设计用于检测和处理应用程序层的故障, 因此可以在计算机群集上提供高可用服务, 每个计算机群集都可能发生故障.

Hadoop 核心组件:

  1. Hadoop Common: 支持其他 Hadoop 模块的通用公共程序, 相当于在写项目时所使用的 Util 类的集合.
  2. Hadoop Distributed File System (HDFS): 提供对应用程序数据的高吞吐量访问的分布式文件系统, 解决海量数据存储.
  3. Hadoop YARN: 作业调度和集群资源管理的框架, 解决资源任务调度.
  4. Hadoop MapReduce: 基于 YARN 的大型数据集并行处理系统, 解决海量数据计算.

2. Hadoop 的发展简史

Hadoop 之父: Doug Cutting.
Hadoop 起源于 Apache Lucene 子项目: Nutch
Nutch 的设计目标是构建一个大型的全网搜索引擎. 在此过程中遇到了瓶颈, 如何解决数十亿网页的存储和索引问题.

Google 三篇论文:
1. 《The Google file system》: 谷歌分布式文件系统 GFS
2. 《MapReduce: Simplified Data Processing on Large Clusters》: 谷歌分布式计算框架 MapReduce
3. 《Bigtable: A Distributed Storage System for Structured Data》: 谷歌结构化数据存储系统

由于 Google 有技术解决 Doug Cutting 团队遇到的瓶颈问题, 倒是技术没有开源, 但是 Google 发了文章, Doug Cutting 团队根据这三篇论文生成了 Hadoop 的相关技术, 并开源.

3. Hadoop 现状

HDFS 作为分布式文件存储系统, 处在生态圈的底层核心地位;
YARN 作为分布式通用的集群资源管理系统和任务调度平台, 支撑各种计算引擎运行, 保证了 Hadoop 地位;
MapReduce 作为大数据生态圈第一代分布式计算引擎, 由于自身设计的模型所产生的弊端, 导致企业一线几乎不再直接使用 MapReduce 进行编程处理, 但是很多软件的底层依然在使用 MapReduce 引擎来处理数据.

4. Hadoop 特性优点

  1. 扩容能力: Hadoop 是在可用的计算机集群间分配数据并完成计算任务的, 这些集群可方便灵活的方式扩展到数以千计的节点.
  2. 成本低: Hadoop 集群允许通过部署普通廉价的机器组成集群来处理大数据, 以至于成本很低. 看重的是集群整体能力.
  3. 先率高: 通过并发数据, Hadoop 可以在节点之间动态并行的移动数据, 使得速度非常快.
  4. 可靠性: 能自动维护数据的多份复制, 并且在任务失败后能自动地重新部署计算任务. 所以 Hadoop 的按位存储和处理数据的能力值得人们信赖.
  5. 通用性: Hadoop 是一项技术, 该技术不涉及任何业务内容, 与业务脱节.
  6. 简单: Hadoop 使用起来比较简单.

5. Hadoop 发行版本

发行版本类型来源链接优点缺点
开源社区版Apache 开源社区发行也是官方发行版本https://hadoop.apache.org/更新迭代快兼容稳定性不周
商业发行版商业公司发行基于 Apache 开源协议某些服务需要收费https://www.cloudera.com/稳定兼容好收费版本更新慢

6. Hadoop 架构变迁

Hadoop 1.0

  1. HDFS (分布式文件存储)
  2. MapReduce (资源管理和分布式数据处理)

Hadoop 2.0

  1. HDFS (分布式文件存储)
  2. MapReduce (资源管理和分布式数据处理)
  3. YARN (集群资源管理, 任务调度)

请添加图片描述

主要看一革命性的变化, 就是 1.0 版本到 2.0 版本的变迁, 因为 hadoop 发展到现在, 大概经历了三个大的版本变化, 仔细对比一下发现底层都是 HDFS, 没有什么变化, 说明数据怎么存储的, 没有什么变化.

1.0 到 2.0 最大的变化, 就是对 MR 进行了大的拆分, 并且引入了一个新的组件, 叫做 YARN. 不难发现这个 MapReduce 这个组件太累了, 他除了要做集群的资源管理, 还要做数据的处理, 这一个组件身兼数职, 并且这两件事情都非常的重要, 那他的性能能好吗? 所以到 2.0 版本之后, hadoop 做了一个非常大的构架变化, 就是把 MR 做了拆分, MR 你只负责处理数据就可以了, 资源管理的事情, 交给专门的组件来做, 这个组件就是 YARN, 并且 YARN 这个组件做的非常通用, 不仅支持 MapReduce, 还支持其他的计算框架, 什么 Spark, Flink 等. 目前市面上 1.0 基本上没什么人用了, 但是 2.8、2.9 这些还是有在用.

Hadoop 3.0 架构组件和 Hadoop 2.0 类似, 3.0 着重于性能优化. 比如支持 GPU, 支持多重备份, 并且内部的数据支持动态平衡, 并且存储效率变高了, 采用删码存储等等. 以上就是 hadoop 各个版本之间的一些区别.

7. Hadoop 集群集体概念

Hadoop 集群包括两个集群: HDFS 集群, YARN 集群
两个集群逻辑上分离, 通常物理上在一起
两个集群都是标准的主从架构集群

  1. HDFS 集群 (分布式存储):
    1.1 主角色: NameNode
    1.2 从角色: DataNode
    1.3 主角色辅助角色: SecondaryNameNode
  2. HDFS 集群 (资源管理, 调度):
    2.1 从角色: ResourceManager
    2.2 从角色: NodeManager

请添加图片描述

逻辑上分离: 两个集群互相之间没有依赖, 互不影响
物理上在一起: 某些角色进程往往部署在同一台物理服务器上
关于 MapReduce: MapReduce 是计算框架, 代码层面的组件没有集群之说

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

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

相关文章

IoT 物联网将如何影响 SCADA ?

IoT 物联网将如何影响 SCADA ?-钡铼技术 随着工业物联网(IIOT)或工业4.0的提出,未来工业自动化将是大势所趋,机器设备运行自动化,人不断被机器替代。那么,这些发展方向会对SCADA有什么影响&…

【DevOps:一、开始】

名词安全组类似于防火墙的设置,打开安全组,但要防止被当成矿机,需要设置主机的容器密码VPC专有网络,私有网络:VPC虽然网段相同:但资源物理层隔离,不能使用内网相互通Ipv4网段子网计数器容器平台…

产品设计表现技能的学习要点

在产品设计过程中,当你心中有创意设计时,你需要写下创意设计,并生成一个例子来总结你以前的想法。此时,您需要设计性能。在设计性能的过程中,我们需要使用各种设计工具,这些设计工具的应用技术和方法通常称…

玩以太坊链上项目的必备技能(内联汇编 [inline assembly]-Solidity之旅十八)

概要 大抵是讲到汇编,身为编程开发者的我们脑瓜子早就嗡嗡作响了。看那晦涩难懂的低级汇编代码,敢断言,那一行不是我写的,其他行也不是我写的。 自从C语言问世,而后类C语言犹如雨后春笋般地搅动着IT界,而…

【金猿人物展】实在智能创始人、CEO孙林君:我们为什么坚定在IPA方向努力?...

‍孙林君本文由实在智能创始人、CEO孙林君撰写并投递参与“数据猿年度金猿策划活动——2022大数据产业趋势人物榜单及奖项”评选。‍数据智能产业创新服务媒体——聚焦数智 改变商业充满“不确定性”的2022年即将过去,不确定性带来的不仅是挑战,还有新机…

安装 Azure CL 并生成 service principal 文件

1 安装 1.1 Yum⽅式安装 For Linux distributions with yum such as RHEL, Fedora, or CentOS, theres a package for the Azure CLI. This package has been tested with RHEL 7, Fedora 19 and higher, and CentOS 7. sudo rpm --import https://packages.microsoft.com/k…

【nowcoder】笔试强训Day11

目录 一、选择题 二、编程题 2.1最近公共祖先 2.2求最大连续bit数 一、选择题 1.下面哪个标识符是合法的? A. 9HelloWorld B. _Hello World C. Hello*World D. Hello$World java标识符的命名规则应以字母、下划线、美元符开头,后跟字母、下划线…

python实战案例——采集二手车数据并分析其价值

前言 嗨喽&#xff0c;大家好呀~这里是爱看美女的茜茜呐 又到了学Python时刻~ 环境使用: Python 3.8 Pycharm 专业版是付费的 <激活码可以免费用> 社区版是免费的 模块使用: 第三方模块 需要安装的 requests >>> pip install requests parsel >>&…

【生成对抗网络】GAN生成对抗网络理论知识

GAN生成对抗网络目录引入GeneratorNetwork as Generator为什么要训练Generator&#xff1a;需要输出是分布引入GANBasic Idea of GAN&#xff1a;区分Unconditional generation 与 Conditional generationUnconditional generationConditional generation引入DiscriminatorGene…

基于Bert-Lstm-Crf的命名实体识别(PyTorch 实现)

1 前言 1-1 简介 命名实体识别(NER)是自然语言处理的基础任务&#xff0c;处于工程性任务的上游&#xff0c;很多的下游任务依赖于命名实体识别的效果&#xff0c;所以命名实体识别也是自然语言处理中非常重要的一环。命名实体识别的任务非常简单&#xff0c;给出一段文本&…

MindSpore模型快速调优攻略笔记分享(上)

• 近年来&#xff0c;深度学习技术在语音识别、自然语言处理、计算机视觉、信息检索等任务上取得了突破性进展; • 深度学习模型的复杂度与规模日益扩张&#xff0c;导致模型的调试调优成为了困扰算法工程师的一大难题; • MindSpore是由华为自研的深度学习框架&#xff0c;…

整理收集python面试常见题目

1.多进程和多线程 1.python多进程和多线程看这一篇就够了_T型人小付的博客-CSDN博客 2.多进程和多线程的实现&#xff1a;一文看懂Python多进程与多线程编程(工作学习面试必读) - 知乎 3.多线程的补充&#xff1a;一文看懂Python多进程与多线程编程(工作学习面试必读) - 知乎…

软件测试面试技巧 这么准备,拿下心仪offer不是问题

拥有一个心仪的offer&#xff0c;是每个软件测试工程师们都梦寐以求的事情&#xff0c;那如何才能通过最后的面试一关&#xff0c;拿到offer呢&#xff1f; 俗话说&#xff0c;知己知彼百战不殆&#xff0c;作为测试员&#xff0c;在面试前对面试官可能提出的问题进行总结和准…

UDS - 14.2.1 RoutineControl (31) service

来自&#xff1a;ISO 14229-1-2020.pdf 目录 14.2.1 服务描述 14.2.1.1 概述 14.2.1.2 通过引用routineIdentifier来启动一个例程 14.2.1.3 通过引用routineIdentifier来停止一个例程 14.2.1.4 通过引用routineIdentifier来请求例程结果 14.2.2请求消息 14.2.2.1请求消…

【从零开始学习深度学习】31. 卷积神经网络之残差网络(ResNet)介绍及其Pytorch实现

和之前介绍的批量归一化层作用类似&#xff0c;残差网络&#xff08;ResNet&#xff09;提出的主要目的也是为了优化深度神经网络中数值稳定性问题。 1. 残差块介绍 假设输入为x\boldsymbol{x}x&#xff0c;希望学出的理想映射为f(x)f(\boldsymbol{x})f(x)。下图左右为普通网…

【GO】 K8s 管理系统项目[API部分--Namespace]

K8s 管理系统项目[API部分–Namespace] 1. 接口实现 service/dataselector.go type namespaceCell corev1.Namespacefunc(n namespaceCell) GetCreation() time.Time {return n.CreationTimestamp.Time }func(n namespaceCell) GetName() string {return n.Name }2. Namespa…

景联文科技:赋能智能安防,详谈其中运用到的数据标注类型

“数据显示&#xff0c;2013-2020年我国智能安防行业市场规模由101亿元增长至511亿元。随着智能安防在多个领域的深化应用&#xff0c;预计2023年我国智能安防行业市场规模将超1000亿元。 智能安防领域中,数据标注主要应用于计算机视觉与语音识别两个主要领域&#xff0c;具体…

人口数据可视化,深圳是人口密度最高的城市,东莞上海位居二三名

进入2022年以来&#xff0c;人口问题频频引起热议&#xff0c;人口老龄化、生育意愿再创新低、男女比例失衡等等问题频出。具体的人口问题如何&#xff0c;跟随可视化互动平台的数据可视化大屏一起来了解吧&#xff01; 我国各省人口数量从地图分布图看&#xff0c;广东省、山…

安装Pytorch

太难了 之前在学校就没安装好 各种报错 终于安装好了 浅浅记录一下 撒花撒花 菜鸡经验&#xff1a; 1.本地python 与 Anaconda 是两个独立的东西 2.可直接在Anaconda中创建不同新的虚拟环境以适配不同的需求 3.cuda 的版本与 NVIDIA版本需要一致&#xff0c;与Python环境也需要…

Echarts图表相关知识

一个基于 JavaScript 的开源可视化图表库。目前我们的前端框架中已经集成了Echarts库v5.3.2&#xff09;&#xff0c;使用的时候不需要再次安装&#xff0c;直接使用即可&#xff0c;具体安装方法不再赘述。 有些时候官网的例子不满足我们的需求&#xff0c;这个时候就要求我们…