【Hadoop学习笔记】认识Hadoop

认识Hadoop

从网上找的课程做的笔记,有些图是自己理解画的,可能不正确,可以作为参考,有疑问的地方请直接指出,共同交流。

Hadoop是由Apache基金会开发的一个分布式系统基础架构,主要解决海量数据的存储和海量数据的分析计算问题。

Hadoop发展历史

创始人:Doug Cutting

开发原由:实现与Google类似的全文搜索功能,在Lucene框架基础上进行优化升级,查询引擎和搜索引擎。

2001年底,Lucene成为Apache基金会的一个子项目。Lucene的问题:存储海量数据困难,检索海量数据速度慢

为解决Lucene短板,Doug Cutting借鉴Google的三篇论文,奠定了Hadoop的基础框架。分别是GFS、Map-Reduce、BigTable。对应到Hadoop里,分别是HDFS、MR、HBase。

2003-2004:Doug Cutting 等人实现DFS和MapReduce机制。
2005:Hadoop作业Lucene子项目Nutch的一部分正式引入Apache基金会。
2006.3: Map-Reduce和Nutch Distributed File System(NDFS)分别被纳入到Hadoop项目,Hadoop诞生。

Hadoop 发行版本

Apache Hadoop

最基础,最原始,入门友好。

Cloudera Hadoop

Cloudera 公司,2008年成立,推出CDH,集成了很多大数据框架,收费。

Hortonworks Hadoop

Hortonworks 公司,2011年成立,推出HDP,文档友好。收费。

Cloudera和Hortonworks合作(2018年,Hortonworks被cloudera收购),推出新的版本: CDP。收费。

Transwarp Data Hub(TDH)

研发公司:星环科技

FusionInsight Hadoop

研发公司:华为

Hadoop优势

  • 高可靠性
    一份数据,多个节点上缓存。
  • 高扩展性
    可以动态添加、删除服务器。
  • 高效性
    计算任务并行工作。
  • 高容错性
    自动将失败的任务重新分配。

Hadoop组成

hadoop2.x相比hadoop1.x,把MapReduce的功能进行了拆分,资源调度抽出来封装成了Yarn,专门用于内存、CPU等资源调度,做到了程序功能高内聚、低耦合。
在这里插入图片描述

HDFS

Hadoop Distributed File System,分布式文件系统,在整个Hadoop系统中负责数据存储。一个文件可以被拆分成几份,存储在不同的服务器上。

在这里插入图片描述

NameNode(nn): 可以记住拆分后的文件,被存储在哪个服务器上。存储文件的元数据,如文件名、文件目录结构、文件属性(生成时间、副本数、文件权限),以及每个文件的块列表和块所在的DataNode等。

DataNode(dn): 具体存储数据的服务器。在本地文件系统存储文件块数据,以及块数据的校验和。

Secondary NameNode(2NN):辅助NameNode工作。每隔一段时间对NameNode元数据备份。可以防止NameNode挂掉导致集群瘫痪。

YARN

Yet Another Resource Negotiator,另一种资源协调者,是Hadoop的资源管理器。

在这里插入图片描述
ResourceManager(RM): 负责管理整个集群的资源,例如:CPU、内存、网络等。

NodeManager(NM):负责管理单个节点上的资源。

ApplicationMaster(AM):负责单个任务的运行。

Container:容器,相当于一台独立服务器,封装任务运行的资源。

MapReduce

MapReduce是负责Hadoop中的计算的部分,分为Map和Reduce。

Map阶段并行处理输入数据。

Reduce阶段对Map结果进行汇总。

举例,从Hadoop系统中找文件,这个过程如下图所示:
在这里插入图片描述

HDFS、YARN、MapReduce三者如何配合工作

在这里插入图片描述

参考资料

  • Hadoop入门
    https://www.bilibili.com/video/BV1Qp4y1n7EN

  • Apache Hadoop
    官网地址:https://hadoop.apache.org/
    下载地址:https://hadoop.apache.org/releases.html

  • Cloudera Hadoop
    官网地址:https://www.cloudera.com/downloads.html
    下载地址:https://docs.cloudera.com/documentation/enterprise/6/release-notes/topics/rg_cdh_6_download.html

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

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

相关文章

安装mmdetection

python版本:3.7 torch1.10.0,torchvision0.11.0 torchaudio0.10.0 cudatoolkit11.3.1 mmdetection版本:2.11.0 mmcv-full: 根据自己的cuda版本和torch版本修改下面的网址,找到对应的下载并安装 https://download.openmmlab.com/mmcv/dist/cu113/torch1.…

Django ModelForm:循环展示所有字段

在Django开发中,使用ModelForm可以大大简化表单的创建和处理过程。本文将介绍如何使用ModelForm,并展示一种简洁的方法来循环显示表单中的所有字段。 1. 模型定义 首先,让我们看一下我们的模型定义: # models.py from django.db import modelsclass Classxxxx(models.Mo…

C++轻量级 线程间异步消息架构(向曾经工作的ROSA-RB以及共事的DOPRA的老兄弟们致敬)

1 啰嗦一番背景 这么多年,换着槽位做牛做马,没有什么钱途 手艺仍然很潮,唯有对于第一线的码农工作,孜孜不倦,其实没有啥进步,就是在不断地重复,刷熟练度,和同期的老兄弟们&#xf…

[OtterCTF 2018]Recovery

里克必须找回他的文件!用于加密文件的随机密码是什么 恢复他的文件 ,感染的文件 ? vmware-tray.ex 前面导出的3720.dmp 查找一下 搜索主机 strings -e l 3720.dmp | grep “WIN-LO6FAF3DTFE” 主机名 后面跟着一串 代码 aDOBofVYUNVnmp7 是不…

快速应用开发(RAD):加速软件开发的关键方法

目录 前言1. 快速应用开发的概念1.1 什么是快速应用开发?1.2 RAD与传统开发方法的对比 2. 快速应用开发的实施步骤2.1 需求分析与规划2.2 快速原型开发2.3 用户评估与反馈2.4 迭代开发与改进2.5 最终交付与维护 3. 快速应用开发的优点与应用场景3.1 优点3.2 应用场景…

微调Llama2自我认知

一、概述 最近在学习了解大模型微调相关的内容,在学习的过程中也遇到了很多问题,所以将自己的学习过程记录下来,希望对大模型微调感兴趣的小伙伴提供一点帮助,本文主要介绍一下如何通过SFT微调Llama2的自我认知,先看一…

Summaries

摘要是网格项,它利用聚合函数来显示有关所显示数据的摘要信息:总记录计数、最小值等。 GridControl-Grid View Summary Types 汇总 汇总总数(GridSummaryItem)是根据所有数据网格记录计算的,并显示在视图页脚中。启…

学懂C#编程:常用高级技术——学会泛型与集合(一)

C# 中的泛型和集合是两个非常重要的概念,它们极大地增强了代码的灵活性和可重用性。下面我将详细讲解这两个概念。 一、泛型 (Generics) 泛型允许你在定义类、接口、方法或委托时使用类型参数,从而使这些类型或方法可以在不指定具体类型的情况下…

【ACM出版-EI稳检索】第三届金融创新、金融科技与信息技术国际学术会议(FFIT 2024,7月26-28)

第三届金融创新、科技与信息技术国际学术会议(FFIT 2024)将于2024年07月26-28日于重庆举行。 FFIT2024 将围绕“金融创新”、"金融科技”与“信息技术”等相关最新研究领域,为来自国内外高等院校、科学研究所、企事业单位的专家、教授、…

第三阶段Spark

Spark和PySpark的介绍 PySpark的相关设置 安装PySpark库 pip install pyspark pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyspark 构建PySpark执行环境入口对象 # 导包 from pyspark import SparkConf, SparkContext# 创建SparkConf类对象 conf SparkConf()…

【代码随想录算法训练营第五十三天|739.每日温度、496.下一个更大元素I、503.下一个更大元素II】

文章目录 739.每日温度496.下一个更大元素I503.下一个更大元素II 739.每日温度 在这里单调栈相当于是在遍历数组的同时记录下了额外的大小关系的信息。因为这里需要的是每个数组元素右边第一个比他大的元素的间隔,因此单调栈是用来在遍历数组的时候存放还没有找到比…

算法题--华为od机试考试(整数对最小和、素数之积、找城市)

目录 整数对最小和 题目描述 注意 输出描述 示例1 输入 输出 说明 解析 答案 素数之积 题目描述 输入描述 输出描述 示例1 输入 输出 说明 示例2 输入 输出 说明 解析 找城市 题目描述 输入 输出 示例1 输入 输出 示例2 输入 输出 说明 解析…

PyTorch学习之torch.nn.functional.conv2d函数

PyTorch学习之torch.nn.functional.conv2d函数 一、简介 torch.nn.functional.conv2d 是 PyTorch 中用于进行二维卷积操作的函数。卷积操作是深度学习中卷积神经网络(CNN)的核心部分,用于提取图像特征,常见于图像分类、目标检测和…

Nvidia显卡GeForce Experience录屏操作流程

安装软件 首先我们从英伟达官网下载GeForce Experience程序,安装在电脑中GeForce Experience(简称 GFE)自动更新驱动并优化游戏设置 | NVIDIA 登录软件 安装完成后登录 开启录屏功能 登录后点击右上角的设置(小齿轮图标&#x…

MT1595 点到矩形

题目 用下面的数据类型分别表示点和矩形: struct POINT { //点 int x, y; //坐标值x和y } ; struct RECT { //矩形 POINT lt, rb; //矩形的左上角和右下角 } ; 输入矩形两个点的坐标值x和y,再输入第3个点的坐标,计算第3个点距这个矩形的最近…

SQL面试真题解答 数据统计分析,求“同比、环比”等(SQL窗口函数使用)

SQL面试真题解答 数据统计分析,求“同比、环比”等(SQL窗口函数使用) 环比、环比增长率、同比、同比增长率,根据百度百科上的 说明: 环比增长率 环比增长率,一般是指和上期相比较的增长率。 环比增长率&a…

【linux】vim的使用

目录 一、Vim的基本模式 二、Vim的常见命令 三、Vim的高级用法 四、Vim的进阶使用技巧 在Linux系统中,Vim是一款功能强大的文本编辑器,特别适用于程序员的代码编辑和修改。以下是Vim的详细使用教程,包括其基本模式、常见命令和高级用法。…

什么是区块链与去中心化技术?

区块链和去中心化技术代表了当今数字世界中最前沿的创新。这些技术不仅重新定义了数据的管理和交换方式,还开启了全新的应用场景。本文将详细介绍区块链和去中心化技术,探讨它们的原理、特点以及应用。 一、区块链技术概述 1. 区块链的定义 区块链是一…

隐藏Python运行产生的缓存文件(__pycache__)

不少同学使用VScode 提交或运行python代码的时候,出现一些缓存文件 类似于(__pycache__) 这种,对于我这种有一丢丢强迫症的人来说,运行一次就得删除一次,那有没有什么办法将其隐藏的? 在vscode编辑器中打开设置&#…

HarmonyOS Next开发学习手册——创建轮播 (Swiper)

Swiper 组件提供滑动轮播显示的能力。Swiper本身是一个容器组件,当设置了多个子组件后,可以对这些子组件进行轮播显示。通常,在一些应用首页显示推荐的内容时,需要用到轮播显示的能力。 针对复杂页面场景,可以使用 Sw…