IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Hadoop入门简介 -> 正文阅读

[大数据]Hadoop入门简介

目录

一、Hadoop应运而生

二、Hadoop发行版本介绍

Hadoop三大发行版本:Apache、Cloudera、Hortonworks

三、Hadoop的优势

四、Hadoop版本演变

? ? ? ? (1)Hadoop1.x

? ? ? ? (2)Hadoop2.x

? ? ? ? (3)Hadoop3.x

五、Hadoop三大核心组件

????????????一、HDFS架构概述

? ? ? ? ? ? ? ???????二、MapReduce架构概述

? ? ? ? ? ? 三、YARN架构概述

总结


一、Hadoop应运而生

? ? ? ? ? ? ?我们生活在一个大数据的时代,数据飞速发展,急需解决海量数据的存储和计算问题。这个时候Hadoop应运而生。

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

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

二、Hadoop发行版本介绍

Hadoop三大发行版本:Apache、Cloudera、Hortonworks

? ? ? ? 1.Apache Hadoop:官方版本,开源

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 官方网址:http://hadoop.apache.org/releases.html

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 下载地址:https://archive.apache.org/dist/hadoop/common/

? ? ? ? 2.Cloudera Hadoop(CDH):商业版本,对官方版本做了一些优化,提供免费的技术支持,提供界面操作,方便集群运维管理

????????????????????????????????????????官网地址:https://www.cloudera.com/downloads/cdh/5-10-0.html

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 下载地址:http://archive-primary.cloudera.com/cdh5/cdh/5/

? ? ? ? 3.Hortonworks(HDH) :开源,提供界面操作,方便运维管理

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 官网地址:https://hortonworks.com/products/data-center/hdp/

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 下载地址:https://hortonworks.com/downloads/#data-platform

三、Hadoop的优势

? ? ? ? (1)高可靠:Hadoop底层维护多个副本数据,所以即使Hadoop某个计算节点或存储出现故障,也不会导致数据丢失。

? ? ? ? (2)高扩展:在集群中分配任务数据,可方便扩展数以千计的节点。

? ? ? ? (3)高效性:在MapReduce思想下,Hadoop是并行计算,以加快任务处理速度。

? ? ? ? (4)高容错性:能够自动将失败的任务重新分配。

四、Hadoop版本演变

? ? ? ? (1)Hadoop1.x

????????????????HDFS(数据存储) + MapReduce(计算+资源调度) + Common(辅助工具)

????????????????在Hadoop1.x时代,MapReduce同时负责资源的调度和处理业务逻辑的运算,耦合性大。

? ? ? ? (2)Hadoop2.x

????????????????HDFS(数据存储) + YARN(资源调度) + MapReduce(计算) + Common(辅助工具)

? ? ? ? ? ? ? ? 在Hadoop2.x时代,增加了YARN(公共的资源管理平台,只要你的程序满足YARN规则即可)。YARN只负责资源的调度,MapReduce只负责运算。

? ? ? ? (3)Hadoop3.x

????????????????HDFS(数据存储) + YARN(资源调度)?+ MapReduce(计算)?+ Common(辅助工具)

? ? ? ? ? ? ? ? hadoop3.x的细节优化:

? ? ? ? ? ? ? ? ? ? ? ? (1)最低Java版本从Java7变成Java8

? ? ? ? ? ? ? ? ? ? ? ? (2)HDFS支持纠删码,纠删码是一种比副本存储更节省存储空间的数据持久化存储方法,使用这种方法,

????????????????????????????????相同容错的情况下,比之前可节省一半的存储空间。

????????????????????????(3)Hadoop 2中的HDFS最多支持两个NameNode,一主一备,而Hadoop 3中的HDFS支持多个 NameNode,

????????????????????????????????一主多备

? ? ? ? ? ? ? ? ? ? ? ? (4)MapReduce任务级本地优化,MapReduce添加了映射输出收集器的本地化实现的支持。

?????????????????????????????????对于密 集型的洗牌操作(shufflfflffle-intensive)jobs,可以带来30%的性能提升。

? ? ? ? ? ? ? ? ? ? ? ? (5)修改了多重服务的默认端口,Hadoop2中一些服务的端口和Hadoop3中是不一样的

?????????????????????????????????Hadoop2中一些服务的端口和Hadoop3中是不一样的。

?????????????????????????????????Hadoop2中HDFS的web界面端口是:50070,Hadoop3中是:9870

? ? ? ? ? ? ? ? 总结:Hadoop 3和2之间的主要区别在于新版本提供了更好的优化和可用性

五、Hadoop三大核心组件

????????????????一、HDFS架构概述

? ? ? ? ? ? ? ? ? ? ? ? HDFS负责海量数据的分布式存储

? ? ? ? ? ? ? ? ? ? ? ? (1)NameNode:存储文件的元数据(如:文件名、文件目录结构、文件属性(生成时间、副本数、文件权限),

????????????????????????????????每个文件的块列表和块所在的DataNode)

? ? ? ? ? ? ? ? ? ? ? ? (2)DataNode:在本地文件系统中存储文件块数据和块数据的校验和

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

? ? ? ? ? ? ? ?二、MapReduce架构概述

????????????????????????MapReduce是一个计算模型,负责海量数据的分布式计算

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

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

? ? ? ? ? ? ? ? 三、YARN架构概述

? ? ? ? ? ? ? ? ? ? ? ? YARN主要负责集群资源的管理和调度

? ? ? ? ? ? ? ? ? ? ? ? 1)ResourceManager:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ①处理客户端请求②启动/监控ApplicationMaster③监控NodeManager④资源分配与调度

? ? ? ? ? ? ? ? ? ? ? ? 2)NodeManager:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ①单个节点上的资源管理②处理来自ResourceManager的命令③处理来自ApplicationMaster的命令

? ? ? ? ? ? ? ? ? ? ? ? 3)ApplicationMaster:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ①数据切分②为应用程序申请资源③分配给内部任务④任务监控与容错

? ? ? ? ? ? ? ? ? ? ? ? 4)Container

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

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 可以对计算资源进行隔离。


总结

? ? ? ? MapReduce阶段详解:

????????????????在Map阶段和Reduce阶段分别启动若干进程负责运算!这些进程称为Task!
?? ??? ?????????在Map阶段启动的Task称为MapTask,在Reduce阶段启动的Task称为ReduceTask。
?????????? ??? ?将一个MapReduce程序称为一个Job,一个Job中会启动若干个Task。
?????????? ??? ?在Job启动时,Job会先创建一个MRAppMaster进程,由这个进程和RM进行通信,为Job中的每个Task申请
?? ??? ?计算所需要的资源!
?????????? ??? ?Task的请求,会被RM缓存到一个调度队列中,由NM领取Task,领取后NM会根据Task要求,提供计算资源!
?? ??? ?提供后,为了避免计算资源在当前Task使用时被其他的task抢占,NM会将资源封装到一个Container中。? ? ? ??
?????????? ??? ?Container可以对计算资源进行隔离!

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-07-11 16:42:24  更:2021-07-11 16:45:06 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 0:26:25-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码