首页 > 其他分享 >Hadoop总结——Hadoop基础

Hadoop总结——Hadoop基础

时间:2022-11-07 18:36:35浏览次数:41  
标签:总结 存储 Google 基础 Hadoop MapReduce 计算 数据

一、Hadoop是什么

Hadoop是一个由Apache基金会所开发的分布式系统基础架构

主要解决,海量数据的存储和海量数据的分析计算问题

广义上来说,Hadoop通常是指一个更广泛的概念——Hadoop生态圈

Hadoop总结——Hadoop基础_hadoop

二、Hadoop发展历史

1)Lucene--Doug Cutting开创的开源软件,用java书写代码,实现与Google类似的全文搜索功能,它提供了全文检索引擎的架构,包括完整的查询引擎和索引引擎 

2)2001年年底成为apache基金会的一个子项目办法;

3)对于大数量的场景,Lucene面对与Google同样的困难

4)学习和模仿Google解决这些问题的办法 :微型版Nutch

5)Hadoop的思想之源:Google在大数据方面的三篇论文

6)2003-2004年,Google公开了部分GFS和Mapreduce思想的细节,以此为基础Doug Cutting等人用了2年业余时间实现了DFS和Mapreduce机制,使Nutch性能飙升

7)2005 年Hadoop 作为 Lucene的子项目 Nutch的一部分正式引入Apache基金会。2006 年 3 月份,Map-Reduce和Nutch Distributed File System (NDFS) 分别被纳入称为 Hadoop 的项目中

8)名字来源于Doug Cutting儿子的玩具大象

Hadoop总结——Hadoop基础_mapreduce_02

9)Hadoop就此诞生并迅速发展,标志这云计算时代来临

三、Hadoop思想

1、思考案例

1T的数据如何实现秒级别的计算?

回答:分布式并行计算,数据向计算移动

2、Hadoop思想之源:Google

主要是面对海量的数据和计算难题

2.1 Google三驾马车

1)存储:GFS

核心功能

  • 存储数据-分布式文件系统
  • 并发写入-顺序写入

不足与缺陷

  • 缺乏高可用性
  • “至少一次”的弱一致性

2)计算:MapReduce

核心功能

  • 数据本地化的并行计算
  • 系统容错和自动恢复

不足与缺陷

  • 计算模型简单
  • 海量硬盘读写

3)在线服务:Bigtable

核心功能

  • 在线服务
  • 高性能随机读写
  • 自动调度和分片

2.2 开源技术

1)GFS对应HDFS

分布式存储系统

提供了高可靠性、高扩展性和高吞吐率的数据存储服务

2)Map-Reduce对应MapReduce

分布式计算框架(计算向数据移动)

具有易于编程、高容错性和高扩展性等优点

3)Bigtable对应HBase

四、Hadoop设计思想

分布式存储和计算

分而治之:并行计算

计算向数据移动

五、Hadoop三大发行版本

1)Apache、Cloudera、Hortonworks

2)Apache版本最原始(最基础)的版本,对于入门学习最好

3)Cloudera在大型互联网企业中用的较多

4)Hortonworks文档较好

六、Hadoop优势

高可靠性:Hadoop底层维护多个数据副本,所以即使Hadoop某个计算元素或存储出现故障,也不会导致数据的丢失

高扩展性:在集群间分配任务数据,可方便的扩展数以千计的节点

高效性:在MapReduce的思想下,Hadoop是并行工作的,以加快任务处理速度

高容错性:能够自动将失败的任务重新分配

七、Hadoop组成

1、概述

1.1 Hadoop 1.X组成

  1. HDFS
  2. MapReduce
  3. Common

1.2 Hadoop 2.X和Hadoop 3.X组成

  1. HDFS
  2. MapReduce
  3. YARN
  4. Common

1.3 HDFS

一个高可靠、高吞吐量的分布式文件系统

1.4 MapReduce

一个分布式的离线并行计算框架

1.5 YARN

资源调度平台,负责作业调度与集群资源管理的框架

1.6 Common

Hadoop体系最底层的一个模块,为Hadoop各子项目提供支持其他模块的工具模块,如:配置文件和日志操作等。

2、HDFS架构概述

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

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

Secondary NameNode(2nn):用来监控HDFS状态的辅助后台程序,每隔一段时间获取HDFS元数据的快照。

3、MapReduce架构概述

MapReduce将计算过程分为两个阶段:Map和Reduce

1)Map阶段并行处理输入数据

2)Reduce阶段对Map结果进行汇总

Hadoop总结——Hadoop基础_hadoop_03

4、YARN架构概述

Hadoop总结——Hadoop基础_数据_04

ResourceManager(RM):处理客户端请求、启动/监控ApplicationMaster、监控NodeManager、资源分配与调度

NodeManager(NM):单个节点上的资源管理、处理来自ResourceManager的命令、处理来自ApplicationMaster的命令

ApplicationMaster:数据切分、为应用程序申请资源,并分配给内部任务、任务监控与容错

Container:对任务运行环境的抽象,封装了CPU、内存等多维资源以及环境变量、启动命令等任务运行相关的信息

标签:总结,存储,Google,基础,Hadoop,MapReduce,计算,数据
From: https://blog.51cto.com/u_15553407/5827288

相关文章

  • 回归模型评价指标总结
    回归评价指标总结1.MeanAbsoluteError,MAE平均绝对误差(MeanAbsoluteError,MAE),也称为L1损失。它是通过取预测值和实际值之间的绝对差值并在整个数据集中取平均值来计......
  • vee-validate 总结
    一、安装npminstallvee-validate@"<3.0.0"--save二、引用importVuefrom'vue';importVeeValidatefrom'vee-validate';Vue.use(VeeValidate);三、config......
  • 人工智能基础
    "IT有得聊”是机械工业出版社旗下IT专业资讯和服务平台,致力于帮助读者在广义的IT领域里,掌握更专业、实用的知识与技能,快速提升职场竞争力。 今天为您推荐一本精品图书--人......
  • 【博学谷学习记录】超强总结,用心分享 | HashMap、HashTable、ConcurrentHashMap
    HashMap和HashTable的区别1、HashMap是非线程安全的,HashTable是线程安全的。2、HashMap的键和值都允许有null值存在,而HashTable则不行。3、因为线程安全的问......
  • Python基础28
    今日内容概要派生方法实战演练面向对象三大特性之封装面向对象三大特性之多态面向对象之反射反射的实战案例今日内容详细派生方法实战演练importjsonimportda......
  • mysql 基础之连接器
    连接器如果你在Linux操作系统里要使用MySQL,那你第一步肯定是要先连接MySQL服务,然后才能执行SQL语句连接的过程需要先经过TCP三次握手,因为MySQL是基于TCP协......
  • canvas-基础(一)
    盲区1:事件绑定: js中的事件绑定可以一次绑定多个事件。比如鼠标移动事件。  事件的移除:需要注意的点就是removeEventListener时,第二个参数需要带上绑定的函数,并......
  • 新的 ES2022 规范终于发布了,我总结了8个实用的新功能
    英文|https://betterprogramming.pub/es2022-features-javascript-a9f8f5dcba5a新的ES13规范终于发布了。 JavaScript不是一种开源语言,它是一种需要遵循ECMAScript......
  • Node中文件断点续传原理和方法总结
    GuanBlogCodeismybaby!Mybloghttps://guanqi.xyz!博客园首页新随笔联系订阅管理随笔-35  文章-0  评论-3  阅读- 67699Node......
  • STL相关常用算法总结
    头文件:#include<algorithm>1.常用遍历算法:for_each(v.begin(),v.end(),myPrint);void myPrint(intval){returnval;} 2.常用拷贝和替换算法:copy(v.begi......