hadoop的简介_hadoop体系

hadoop的简介_hadoop体系一、概述Hadoop起源:hadoop的创始者是DougCutting,起源于Nutch项目,该项目是作者尝试构建的一个开源的Web搜索引擎。起初该项目遇到了阻碍,因为始终无法将计算分配给多台计算机。谷歌发表的关于GFS和MapReduce相关的论文给了作者启发,最终让Nutch可以在多台计算机上稳定的运行;后来雅虎对这项技术产生了很大的兴趣,并组建了团队开发,从Nutch中剥离出分布式计算模块命名为“Hadoop”。最终Hadoop在雅虎的帮助下能够真正的处理海量的Web数据。…


Jetbrains全系列IDE稳定放心使用

一、概述

        Hadoop起源:hadoop的创始者是Doug Cutting,起源于Nutch项目,该项目是作者尝试构建的一个开源的Web搜索引擎。起初该项目遇到了阻碍,因为始终无法将计算分配给多台计算机。谷歌发表的关于GFS和MapReduce相关的论文给了作者启发,最终让Nutch可以在多台计算机上稳定的运行;后来雅虎对这项技术产生了很大的兴趣,并组建了团队开发,从Nutch中剥离出分布式计算模块命名为“Hadoop”。最终Hadoop在雅虎的帮助下能够真正的处理海量的Web数据。

        Hadoop集群是一种分布式的计算平台,用来处理海量数据,它的两大核心组件分别是HDSF文件系统和分布式计算处理框架mapreduce。HDFS是分布式存储系统,其下的两个子项目分别是namenode和datanode;namenode管理着文件系统的命名空间包括元数据和datanode上数据块的位置,datanode在本地保存着真实的数据。它们都分别运行在独立的节点上。Mapreduce的两大子项目分别是jobtracker和tasktracker,jobtracker负责管理资源和分配任务,tasktracker负责执行来自jobtracker的任务。

        Hadoop1升级成hadoop2后,为解决原来HDFS的namenode的单点故障问题,于是有了HA集群的出现;为解决原来mapreduce的jobtracker的单点故障以及负担过重的问题,于是有了mapreduce2也就是YARN的出现。

二、为什么需要hadoop?

        在数据量很大的情况下,单机的处理能力无法胜任,必须采用分布式集群的方式进行处理,而用分布式集群的方式处理数据,实现的复杂度呈级数增加。所以,在海量数据处理的需求下,一个通用的分布式数据处理技术框架能大大降低应用开发难点和减少工作量。

三、对hadoop的理解简述

hadoop是用于处理(运算分析)海量数据的技术平台,并且是采用分布式集群的方式。

hadoop的简介_hadoop体系

 

hadoop有两大功能:

1)提供海量数据的存储服务。

2)提供分析海量数据框架及运行平台。 关键词为存储、分析海量数据和运行平台。

四、hadoop三大核心组件

1)HDFS:hadoop分布式文件系统海量数据存储(集群服务)。

2)MapReduce:分布式运算框架(编程框架),海量数据运算分析。

3)Yarn:资源调度管理集群(可以理解为一个分布式的操作系统,管理和分配集群硬件资源)。

用MapReduce编写一个程序,到Yarn运行平台上去运行。

五、Hadoop技术生态圈的核心框架组件简介

1)ZooKeeper

        Zookeeper是Hadoop生态圈中一个非常基础的服务框架,是各分布式框架公用的一个分布式协调服务系统。它通过为各类分布式框架提供状态数据的记录和监听,来让各类分布式系统的开发变得更加便捷。

2)Mahout

        Mahout是一个开源的机器学习库,它能使Hadoop用户高效地进行诸如数据分析,数据挖掘以及集群等一些列操作。 Mahout对于大数据集特别高效,它提供的算法经过性能优化能够在HDFS文件系统上高效地运行MapReduce框架。

3)Ambari

        Ambari提供一套基于网页的界面来管理和监控Hadoop集群。让Hadoop集群的部署和运维变得更加简单。它提供了一些列特性,诸如:安装向导,系统警告,集群管理,任务性能等。

4)Avro

        如何用过其它编程语言来有效地组织Hadoop的大数据,Avro便是为了这个目的而生。Avro提供了各个节点上的数据的压缩以及存储。基于Avro的数据存储能够轻松地被很多脚本语言诸如Python,或者非脚本语言如Java来读取。另外,Avro还可被用来MapReduce框架中数据的序列化。

5)Sqoop

        Sqoop被用来在各类传统的关系型数据库(比如MYSQL、ORACLE等数据库)和Hadoop生态体系中的各类分布式存储系统(比如HDFS、Hive、HBASE等)之间进行数据迁移。从而可以让开发人员快速地加载业务系统数据库中的数据到Hadoop中综合其他日志数据进行分析,并能方便地将分析结果导出到关系型数据库中以便查询分析和数据可视化。

6)Flume

Flume常被用来进行日志的采集、汇聚,它能从各类数据源中读取数据后汇聚到诸如HDFS、HBASE、Hive等各种类型的大型存储系统中。并且,在使用Flume时,用户几乎不用进行任何编程,只需要将数据源和汇聚存储系统的属性配置在Flume的配置文件中,即可快速搭建起一个大型分布式数据采集系统。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/181077.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 详解SpringMVC执行流程[通俗易懂]

    详解SpringMVC执行流程[通俗易懂]SpringMVC执行流程SpringMVC执行流程整体如下:执行流程分析(1)浏览器提交请求到中央调度器。(2)中央调度器直接将请求转给处理器映射器。(3)处理器映射器会根据请求,找到处理该请求的处理器,并将其封装为处理器执行链后返回给中央调度器。(4)中央调度器根据处理器执行链中的处理器,找到能够执行该处理器的处理器适配器。(5)处理器适配器调用执行处理器。(6)处理器将处理结果及要跳转的视图封装到一个对象ModelAndView中,并将其返回给处理器适配器。(7)处理器适配

    2022年6月28日
  • igmp协议用来实现组播功能_组播管理协议

    igmp协议用来实现组播功能_组播管理协议igmp

    2022年9月14日
  • 初学嵌入式开发用什么开发板_minipcie接口定义

    初学嵌入式开发用什么开发板_minipcie接口定义上海域格MINIPCIE开发板使用1、开发板概述开发(评估)板是为客户提供模块开发调试(评估)的平台。帮助客户对模块快速完成测试、开发、评估、验证产品特性以及功能演示等。客户可以在没有制作PCB的情况下,就能完成熟悉模块功能,并DEMO出相关程序,缩短开发周期。开发板上是标准MINIPCIE接口,请务必配合特定模块的硬件手册和AT手册使用。2、功能描述2.1平面图2.2实物图开发板基本接口调试概述:支持1路5V直流输入接口(使用5V电源供电,可将电

    2022年9月7日
  • vim鼠标模式打开与关闭

    vim鼠标模式打开与关闭

    2021年11月7日
  • idea修改properties文件编码_idea使用maven

    idea修改properties文件编码_idea使用maven结果图:

    2022年9月21日
  • java图书馆新地址_值得你关注的16个顶级 Java 开源项目!小白必看

    java图书馆新地址_值得你关注的16个顶级 Java 开源项目!小白必看1.JavaGuide把这个排第一没有个人因素影响哈!Guide哥我自己大三开始维护的,目前算是纯Java类型项目中Star数量最多的项目了。但是,本仓库的价值远远(+N次)比不上像SpringBoot、Elasticsearch等等这样非常非常非常优秀的项目。希望以后我也有能力为这些项目贡献一些有价值的代码。Github地址:https://github.com/Snailc…

    2022年7月7日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号