| |
|
开发:
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三大发行版本:Apache、Cloudera、Hortonworks ? ? ? ? ? ? ? ???????二、MapReduce架构概述 一、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! |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |