当前位置: 首页 > news >正文

【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

相关文章:

【Hadoop学习笔记】认识Hadoop

认识Hadoop 从网上找的课程做的笔记,有些图是自己理解画的,可能不正确,可以作为参考,有疑问的地方请直接指出,共同交流。 Hadoop是由Apache基金会开发的一个分布式系统基础架构,主要解决海量数据的存储和海…...

CISP-PTE综合靶机-WinServer2003

1.收集网站的地址和开放的端口,完成前期信息收集。10分 2.访问站点,找出站点的敏感文件,利用返回数据找到相关敏感信 息,完成网站结构的信息收集。10分 3.利用文件包含漏洞读取敏感文件,找出数据库连接凭证,利用此 凭证连接数据库。10分 4.网站后台提权:找出后台管理员登…...

sklearn之各类朴素贝叶斯原理

sklearn之贝叶斯原理 前言1 高斯朴素贝叶斯1.1 对连续变量的处理1.2 高斯朴素贝叶斯算法原理 2 多项式朴素贝叶斯2.1 二项分布和多项分布2.2 详细原理2.3 如何判断是否符合多项式贝叶斯 3 伯努利朴素贝叶斯4 类别贝叶斯4 补充朴素贝叶斯4.1 核心原理4.2 算法流程 前言 如果想看…...

年薪50w+的项目经理,手把手教你如何复盘

复盘是一种重要的学习和改进工具,对于项目经理来说,能帮助识别项目中的成功与失败,为未来的项目管理提供宝贵经验。 理论部分 定义目标。在开始复盘之前,明确复盘的目标是什么。是为了找出项目中的问题并提出解决方案&#xff0c…...

Web3新视野:Lumoz节点的潜力与收益解读

摘要:低估值、高回报、无条件退款80%...... Lumoz正通过其 zkVerifier 节点销售活动,引领一场ZK计算革命。 长期以来,加密市场以其独特的波动性和增长潜力,持续吸引着全球投资者的目光。而历史数据表明,市场往往在一年…...

【shell脚本速成】mysql备份脚本

文章目录 案例需求脚本应用场景:解决问题脚本思路实现代码 🌈你好呀!我是 山顶风景独好 🎈欢迎踏入我的博客世界,能与您在此邂逅,真是缘分使然!😊 🌸愿您在此停留的每一刻…...

高考志愿填报,理科生如何分析选专业?

理科生选择专业的范围更大一些,相比文科说理工科的院校也更多,如何选择适合自己的专业,这是一个比较重要的课题,毕竟大学专业直接关系到职业,是一辈子的大事。 那么理科究竟如何选择专业呢?需要从什么地方…...

qt 简单实验 json格式的文件写入配置文件

1.概要 2.代码 //#include "mainwindow.h"#include <QApplication> #include <QFile> #include <QJsonDocument> #include <QJsonObject> //读取json数据的配置文件int main(int argc, char *argv[]) {QApplication a(argc, argv);QString…...

将WIN10的wifi上网分享给以太网接口

目录 打开网络设置设置属性点这里的设置将wlan主机的以太网接口IP设为自动获取 如果连接不成功&#xff0c;拔网线重连一次 打开网络设置 设置属性 点这里的设置 将wlan主机的以太网接口IP设为自动获取 如果连接不成功&#xff0c;拔网线重连一次...

在 iPhone 上恢复已删除联系人的 5 种简便方法

想象一下&#xff1a;您正在 iPhone 上滚动并搜索要拨打的联系人&#xff0c;但却找不到任何结果。然后您想起昨晚您试图删除一个名字相似的联系人&#xff0c;但不知何故删除了错误的联系人。或者您的孩子错误地删除了一些联系人。这些情况足以让您感到迷茫。但别担心&#xf…...

小白指南:前端使用javascript如何判断集合是不是空集合?

背景 最近在开发一个Web应用时&#xff0c;我遇到了一个关于集合处理的问题。具体来说&#xff0c;我需要判断一个集合是否为空。集合可以是数组、对象、Map或Set等不同的数据结构。就简单的整理了一下如何在JavaScript中有效地判断一个集合是否为空呢&#xff1f; 解决方案 …...

人力资源招聘社会校企类型招聘系统校园招聘小程序

校企社会人力资源招聘小程序&#xff1a;开启高效招聘新时代 &#x1f680;开篇&#xff1a;打破传统&#xff0c;开启招聘新篇章 在快速发展的现代社会&#xff0c;人力资源招聘已经成为企业和学校共同关注的重要议题。为了更高效、便捷地满足双方的招聘需求&#xff0c;一款…...

docker重要操作与直连方法

文章目录 前言一、nvidia-docker安装方法1、nvidia-docker安装2、重启动ssh 二、构建镜像1、构建镜像docker拉取构建本地镜像加载构建 2、容器转镜像3、镜像打包4、删除镜像 三、构建容器1、容器构建2、启动镜像3、删除容器 四、docker直连(ssh -p)1、docker更改密码2、物理机操…...

Windows环境利用 OpenCV 中 CascadeClassifier 分类器识别人眼 c++

Windows环境中配置OpenCV 关于在Windows环境中配置opencv的说明&#xff0c;具体可以参考&#xff1a;VS2022 配置OpenCV开发环境详细教程。 CascadeClassifier 分类器 CascadeClassifier 是 OpenCV 库中的一个类&#xff0c;它用于实现一种快速的物体检测算法&#xff0c;称…...

Golang | Leetcode Golang题解之第167题两数之和II-输入有序数组

题目&#xff1a; 题解&#xff1a; func twoSum(numbers []int, target int) []int {low, high : 0, len(numbers) - 1for low < high {sum : numbers[low] numbers[high]if sum target {return []int{low 1, high 1}} else if sum < target {low} else {high--}}r…...

【软件工程】【23.04】p2

关键字&#xff1a; 计算机软件定义、需求基本性质、创建系统类图所涉及的工作、RUP创建系统用况模型活动、软件生存周期模型、能力等级和成熟度等级区别联系&#xff1b; 模块结构图&#xff1a;深度宽度、扇入扇出、作用域、控制域&#xff1b; 程序流程图&#xff1a;语句…...

Java多线程编程与并发控制策略

Java多线程编程与并发控制策略 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;今天&#xff0c;我想和大家分享一下Java多线程编程与并发控制策略的相关知识&am…...

Java爬虫(一)

一、Java爬虫简介 1.1 Selenium Selenium爬虫是一种基于浏览器自动化的爬虫技术&#xff0c;可以模拟用户的操作行为&#xff0c;实现对动态网页的爬取。 1.2 jsoup Jsoup拥有十分方便的api来处理html文档&#xff0c;比如参考了DOM对象的文档遍历方法&#xff0c;参考了CSS选…...

element-plus form表单组件之el-date-picker日期选择器组件

el-date-picker日期选择器组件可根据年&#xff0c;月&#xff0c;日期&#xff0c;时间范围来进行选择&#xff0c;可以自定义日期格式&#xff0c;和样式&#xff0c;还提供多种内置事件。 主要属性如下 属性名说明类型可选值默认值model-value / v-model绑定值&#xff0c…...

如何与情绪好好相处,真正成为情绪的主人

一、教程描述 若要成为一个聪明的人&#xff0c;就要学会做情绪的主人&#xff0c;而不是被情绪控制自己&#xff0c;为什么要做情绪的主人&#xff1f;至少有以下两个方面原因。 其一&#xff0c;都说&#xff0c;世上还是好人多。可是&#xff0c;为什么你身边没有一个好人…...

RK3588/算能/Nvidia智能盒子:[AI智慧油站」,以安全为基,赋能精准经营

2021年9月&#xff0c;山东省应急管理厅印发了关于《全省危险化学品安全生产信息化建设与应用工作方案&#xff08;2021-2022 年&#xff09;》的通知&#xff0c;要求全省范围内加快推进危险化学品安全生产信息化、智能化建设与应用工作&#xff0c;建设完善全省危险化学品安全…...

【眼在手外D435相机支架】

完整UR机械臂的GRCNN抓取网络教程参考以下博客: 【眼在手外D435相机支架】 0. 【机械臂视觉抓取从理论到实战】 GRCNN抓取网络学习1【Jacquard数据集等效制作】GRCNN抓取网络学习2【自制Jacquard数据集训练】GRCNN抓取网络学习3【自制Jacquard数据集模型调优】GRCNN抓取网络学…...

js组合继承

JS组合继承&#xff08;combination inheritance&#xff09;是一种常用的继承模式&#xff0c;它通过将原型链和构造函数组合使用来实现继承。 下面是JS组合继承的详细解析和代码示例&#xff1a; 创建父类&#xff08;基类&#xff09;的构造函数 function Parent(name) {…...

Spring-kafka消费者消费的一些问题

前言 Spring Kafka 无缝集成了 Spring Boot、Spring Framework 及其生态系统中的其他项目&#xff0c;如 Spring Cloud。通过与 Spring Boot 的自动配置结合&#xff0c;开发者可以快速启动和配置 Kafka 相关的功能。无需编写大量样板代码即可实现 Kafka 的生产和消费功能&…...

【自我提升】提升能量书籍

《原子习惯》 (Atomic Habits) - 詹姆斯克利尔 (James Clear)&#xff1a; 核心思想&#xff1a;微小的习惯改变可以带来显著的生活变化。方法&#xff1a; 将大目标拆分为可管理的小习惯。使用“习惯堆叠”技术&#xff0c;将新习惯与已有习惯结合。创建支持性环境&#xff0c…...

python图像处理库-PIL(Pillow)

PIL库全称为Python Imaging Library&#xff0c;即Python图像处理库&#xff0c;是一个在Python中用于处理图像的非常流行的库。 一、PIL介绍 这个库提供了广泛的文件格式支持、高效的内部表示以及相当强大的图像处理功能。 核心图像库旨在快速访问存储在几种基本像素格式中的数…...

【2024】kafka streams的详细使用与案例练习(2)

目录 前言使用1、整体结构1.1、序列化 2、 Kafka Streams 常用的 API2.1、 StreamsBuilder2.2、 KStream 和 KTable2.3、 filter和 filterNot2.4、 map 和 mapValues2.5、 flatMap 和 flatMapValues2.6、 groupByKey 和 groupBy2.7、 count、reduce 和 aggregate2.8、 join 和 …...

qt 简单实验 读取json格式的配置文件

1.概要 2.代码 //#include "mainwindow.h"#include <QApplication> #include <QFile> #include <QJsonDocument> #include <QJsonObject> #include <QDebug> //读取json数据的配置文件QJsonObject readJsonConfigFile(const QString …...

Docker常用命令与实战示例

docker 1. 安装2. 常用命令3. 存储4. 网络5. redis主从复制示例6. wordpress示例7. DockerFile8. 一键安装超多中间件&#xff08;compose&#xff09; 1. 安装 以centOS系统为例 # 移除旧版本docker sudo yum remove docker \docker-client \docker-client-latest \docker-c…...

数据结构(基础知识)

基础概念&#xff1a; 数据&#xff1a;数据是信息的载体&#xff0c;是描述客观事物属性的数&#xff0c;字符及所有能输入到计算机中并被计算机程序识别和处理的符号的集合 数据元素&#xff1a;是数据的基本单位&#xff0c;在程序中常作为一个整体来考虑 数据对象&#…...

西宁做网站君博示范/凡科建站怎么样

芯片安全侧信道分析及故障注入系统集成电路是一种微型电子器件或部件&#xff0c;通过采用一定的工艺&#xff0c;将一个电路中所需的晶体管、二极管、电容、电阻、电感等元件及布线互连在一起&#xff0c;制作在一块半导体基片上&#xff0c;然后封装在一个管壳内。随着集成电…...

郑州北环网站建设培训/cms

5.1 选择配准组件 在执行配准时&#xff0c;你需要选择一些组件&#xff0c;详见第二章。 这些组件需要写入参数文件中&#xff0c;例如&#xff1a; (Transform"BSplineTransform") (Metric"AdvancedMattesMutualInformation") 表5.1给出了一些必要的…...

陕西企业网站建设哪家专业/最新军事新闻今日最新消息

Mysql 完全恢复、基于时间点恢复、基于位置恢复&#xff08;注意根据实际环境调整&#xff09;1.刷新binlog &#xff08;取得最后1份有价值的2进制日志&#xff09;&#xff0c;或执行一次增量备份的脚本。#mysqladmin -u**** -p**** flush-logs2.全备当前要操作的数据库&…...

河南省人民政府办公厅/湖南seo服务

快捷键F5这个恐怕是最常用的快捷键了&#xff0c;用来代替那个“&#xff01;执行”按钮&#xff0c;写完SQL语句后手不用离开键盘。虽然没什么技术含量&#xff0c;但不会用的人八成是菜鸟。快捷键CTRLC/V复制/粘贴。COPY流程序员神器&#xff0c;安全环保无污染。不多说&…...

做头像的网站空白/黄冈网站推广软件免费下载

股票买卖问题&#xff08;只交易一次&#xff09; 问题描述 算法思路 其实这道题目思想很简单&#xff0c;无非就是要找到股票的最大值和最小值&#xff0c;并且保证最大值一定在最小值的右边 动态规划思想&#xff1a;从最后一步来看问题 设F&#xff08;n&#xff09;为前n…...

建设大型网站需要什么硬件/百度数据分析工具

1、lambda的介绍&#xff1a; 1.1、为什么java语言需要引入lambda表达式&#xff1f; java语言诞生于1995年&#xff0c;历史时间已经相对较长了。在其后的各种新型编程语言中&#xff0c;都有着lambda表达式的内容&#xff0c;并且受到了大家的好评&#xff0c;因此&#xff0…...