hadoop的简介_hadoop体系

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

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • oracle普通索引改唯一索引,Oracle唯一索引功能替代[通俗易懂]

    oracle普通索引改唯一索引,Oracle唯一索引功能替代[通俗易懂]Oracle唯一索引在字段全部为NULL时,不做唯一性判断,允许重复插入,而在8t中即使均为NULL值也会做重复值判断,在某些场景下客户会存在此类需求,在数据量不大不存在性能问题的情况下可以考虑通过如下方式进行替代示例表createtable”informix”.secconstitute(iddecimal(20,0)notnull,codevarchar(32),namevar…

    2022年9月16日
    5
  • k3s集群安装_hadoop跨集群配置

    k3s集群安装_hadoop跨集群配置文章目录一、k3s离线部署准备工作1.准备节点2.安装Docker3.[k3s官网](https://github.com/k3s-io/k3s/releases/tag/v1.18.6%2Bk3s1)中下载部署文件。部署步骤1.导入镜像:2.修改文件权限:3.安装4.检查是否安装成功:5.卸载k3s问题解决:1.出现kubernetesclusterunreachable:2.出现Theconnectiontotheserverlocalhost:8080wasrefu

    2025年6月9日
    27
  • netstat命令详解Linux,Linux netstat命令详解

    netstat命令详解Linux,Linux netstat命令详解常见参数-a(all)显示所有选项,默认不显示LISTEN相关-t(tcp)仅显示tcp相关选项-u(udp)仅显示udp相关选项-n拒绝显示别名,能显示数字的全部转化成数字。-l仅列出有在Listen(监听)的服務状态-p显示建立相关链接的程序名-r显示路由信息,路由表-e显示扩展信息,例如uid等-s按各个协议进行统计-c每隔一个固定时间,执行该netstat命令。提…

    2022年5月7日
    51
  • rabbitmq常见面试题「建议收藏」

    rabbitmq常见面试题「建议收藏」1、使用RabbitMQ有什么好处?1.解耦,系统A在代码中直接调用系统B和系统C的代码,如果将来D系统接入,系统A还需要修改代码,过于麻烦!2.异步,将消息写入消息队列,非必要的业务逻辑以异步的方式运行,加快响应速度3.削峰,并发量大的时候,所有的请求直接怼到数据库,造成数据库连接异常2、RabbitMQ中的broker是指什么?cluster又是指什么?bro…

    2022年6月22日
    26
  • java查看线程数量_oracle线程数最大多少

    java查看线程数量_oracle线程数最大多少TOPtop-H-p{pid}我这里筛选的是java的进程对应的thread是33PSpshuHp{pid}|wc-l直接计数统计出来

    2022年8月23日
    12

发表回复

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

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