大数据导论——Hadoop生态系统

这篇具有很好参考价值的文章主要介绍了大数据导论——Hadoop生态系统。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

大数据处理架构Hadoop简介

  • Hadoop是Apache软件基金会旗下一个开源分布式计算平台,为用户提供底层细节透明的基础框架。
  • 经过多年的发展,Hadoop生态系统不断完善和成熟,目前已经包含了多个子项目,除了核心的HDFS和MapReduce以外,Hadoop生态系统还包括ZooKeeper,HBase,Hive,Pig,Mahout,Sqoop,Flume,Ambari等。
    hadoop生态系统,大数据,hadoop,大数据,hdfs,mapreduce,hbase

Hadoop功能

它实现了MapReduce计算模型和分布式文件系统HDFS等功能,在业内得到广泛应用。 借助于Hadoop,程序员可以轻松编写分布式并行程序,将其运行于计算机集群上,完成海量数据的存储与处理分析。

Hadoop特性

  • 高可靠性:Hadoop采用冗余数据存储方式,即使一个副本发生故障,其他副本也可以保证正常对外提供服务。
  • 高效性:作为并行分布式计算平台,Hadoop采用分布式存储和分布式处理两大核心技术,能够高效的处理PB级数据。
  • 高可扩展性:Hadoop的设计目标是可以高效稳定的运行在廉价的计算机集群上,可以扩展到数以千计的计算机节点上。
  • 高容错性:Hadoop采用冗余数据存储方式,自动保存数据的多个副本,并且能够自动将失败的任务进行重新分配。
  • 成本低:Hadoop采用廉价的计算机集群,成本比较低,普通用户也很容易用自己的PC搭建Hadoop运行环境。
  • 运行在Linux操作系统上:Hadoop是基于Java开发的,可以较好地运行在Linux系统上。
  • 支持多种编程语言:Hadoop上的应用程序也可以使用其他语言编写,如C++。

Hadoop生态系统各组成部分

HDFS(分布式文件系统)

简介:HDFS是Hadoop项目两大核心组件之一,是针对谷歌文件系统(GFS)的开源实现。采用主从(Master/Slave)结构模型。HDFS集群包含一个名称节点(作为中心服务器,管理文件系统的命名空间及客户端对文件的访问)和若干个数据节点(一般是一个结点运行一个数据节点进程,负责处理文件系统客户端的读/写请求,在名称节点的统一调度下进行数据块的创建、删除和复制等操作)。

优点:支持流数据读取和处理超大规模文件,并能够运行在由廉价的普通机器组成的集群上。HDFS在设计上采取了多种机制保证在硬件出错的环境中实现数据的完整性。

设计目标

  • 兼容廉价的硬件设备
    HDFS设计了快速检测硬件故障和进行自动恢复的机制,可以实现持续监听、错误检查、容错处理和自动恢复,从而在硬件出错的情况下也能实现数据的完整性。

  • 实现流数据读写
    HDFS放松了一些POSIX的要求,从而能够以流失方式来访问文件系统数据。

  • 大数据集
    HDFS中的文件系统通常可以到达GB甚至TB级别,一个数百台服务器组成的集群都可以支持千万级别这样的文件。

  • 简单的文件模型
    HDFS采用了“一次写入,多次读取”的简单文件模型,文件一旦完成写入,关闭后就无法再次写入。只能被读取。

  • 强大的跨平台兼容性
    HDFS是采用Java实现的,具有很好的跨平台兼容性,支持JVM的机器都可以运行HDFS。

局限性

  • 不适合访问低延迟数据(Hbase是一个更好的选择)
  • 无法高效存储大量小文件
  • 不支持多用户写入及任意修改文件

MapReduce(分布式计算框架)

简介:MapReduce是谷歌的核心计算模型。MapReduce将复杂的、运行于大规模集群上的并行计算过程高度抽象为两个函数:Map和Reduce。适合用MapReduce来处理的数据集需要满足一个前提条件:待处理的数据集可以分解成许多小的数据集,而且每一个小数据集都可以完全并行地进行处理。

核心思想“分而治之”

不足

  • 表达能力有限
    计算都必须转化成Map和Reduce两种操作,但这并不适合所有情况,难以描述复杂的数据处理过程
  • 磁盘IO开销大
    每次执行都需要从磁盘读取数据,并且在计算完成后需要将中间结果写入磁盘中,IO开销较大
  • 延迟高
    一次计算可嫩需要分解成一系列按顺序执行的MapReduce任务,任务之间的衔接由于涉及IO开销,会产生较高延迟。并且,在前一个任务执行完成之前,其他任务无法开始,因此难以胜任复杂、多阶段的任务。

HBase(分布式数据库)

简介
HBase是Google Bigtable(分布式存储系统)的开源实现,主要用来存储非结构化和半结构化的数据,是一个高可靠、高性能、面向列、可伸缩的分布式数据库。

目标:处理非常庞大的表

与其他部分的关系

  • Hadoop MapReduce
    利用Hadoop MapReduce处理HBase中的海量数据,实现高性能计算
  • Zookeeper
    利用Zookeeper作为协同服务,实现稳定服务和失败恢复
  • HDFS
    使用HDFS作为高可靠的底层数据存储系统,利用廉价集群提供海量数据存储能力
  • Sqoop
    Sqoop为HBase提供了高效、便捷的关系数据库管理系数据导入功能
  • Pig和Hive
    为HBase提供了高层语言支持

HBase数据模型

  • :每个HBase采用表来组织数据,表由行和列组成,列划分为若干个列族
  • 行键:每个HBase表都由若干行组成,每个行由行键来标识
  • 列族:一个HBase表被分组成为许多“列族”的集合,它是基本的访问控制单元
  • 列限定符:列族里的数据通过列限定符(或列)来定位
  • 单元格:在HBase表中,通过行键、列族和列限定符确定一个“单元格”(Cell)
  • 时间戳:每个单元格都保存着同一份数据的多个版本,这些版本采用时间戳进行索引

HBase服务器集群

一个Master服务器:负责表和Region的管理工作
多个Region服务器:负责维护分配给自己的Region并响应用户的读写请求

Hive(数据仓库)

简介
Hive是一个基于Hadoop的数据仓库工具,可对存储在Hadoop文件中的数据集进行数据整理、特殊查询和分析处理。HIve定义了简单的类似SQL的查询语言——HiveQL,它与大部分SQL语法兼容。

Hive系统架构
hadoop生态系统,大数据,hadoop,大数据,hdfs,mapreduce,hbase

Pig(一种流数据语言和运行环境)

Pig是一种流数据语言和运行环境,适合于使用Hadoop和MapReduce平台来查询大型半结构化数据集。Pig的出现大大简化了Hadoop常见的工作任务,它在MapReduce的基础上创建了更简单的过程语言抽象,为Hadoop应用程序提供了一种更加接近SQL的接口。采用Pig编写只需要一个简单的脚本在集群中自动并行处理与分发。

Mahout(Apache软件基金会旗下的一个开源项目)

功能:提供一些可扩展的机器学习领域经典算法的实现,包含许多实现,如聚类、分类、推荐过滤、频繁子项挖掘等。此外,通过使用Apache Hadoop库,Mahout可以有效地扩展到云中

目的:旨在帮助开发者更加方便快捷地创建智能应用程序

ZooKeeper(针对谷歌Chubby的一个开源实现)

功能:是高效和可靠的协同工作系统,提供分布式锁之类的基本服务(如统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等)用于构建分布式应用,减轻分布式应用程序承担的协调任务。
简介:使用Java编写,容易编程接入,使用了一个和文件树结构相似的数据模型,可以使用Java或者C来进行编程接入。

Flume

简介:Flume是Cloudera提供的一个高可用的、高可靠的、分布式的海量日志采集、聚合和传输系统。

功能:Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理并写到各种数据接收方的能力。

Sqoop(SQL-to-Hadoop)

功能:主要用来在Hadoop和关系数据库之间交换数据,可以改进数据的互操作性。Sqoop是专门为大数据集设计的,支持增量更新,可以将新纪录添加到最近一次导出的数据源上,或者指定上次修改的时间戳。

Ambari(Apache Ambari)

是一种基于web的工具,支持Apache Hadoop集群的安装、部署、配置和管理。Ambari目前已支持大多数Hadoop组件,包括HDFS、MapReduce、Hive、Pig、HBase、Zookeeper、Sqoop等。

YARN

Apache Hadoop YARN (Yet Another Resource Negotiator,另一种资源协调者)是一种新的 Hadoop 资源管理器,它是一个通用资源管理系统,可为上层应用提供统一的资源管理和调度,它的引入为集群在利用率、资源统一管理和数据共享等方面带来了巨大好处。文章来源地址https://www.toymoban.com/news/detail-770298.html

到了这里,关于大数据导论——Hadoop生态系统的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于Hadoop的MapReduce网站日志大数据分析(含预处理MapReduce程序、hdfs、flume、sqoop、hive、mysql、hbase组件、echarts)

    需要本项目的可以私信博主!!! 本项目包含:PPT,可视化代码,项目源码,配套Hadoop环境(解压可视化),shell脚本,MapReduce代码,文档以及相关说明教程,大数据集! 本文介绍了一种基于Hadoop的网站日志大数据分析方法。本项目首先将网站日志上传到HDFS分布式文件系统

    2024年02月16日
    浏览(65)
  • 数仓知识11:Hadoop生态及Hive、HBase、Impala、HDFS之间的关系

    Hive、HBase、Impala、HDFS是Hadoop生态体系中常用的开源产品,各个产品间是一个什么样的关系,许多人都搞不清楚,本文将进行研究分析。 Hadoop生态 在了解Hive、HBase、Impala、和HDFS之前,先熟悉一下Hadoop的生态。 Apache Hadoop软件库是一个框架,允许使用简单的编程模型在计算机集

    2023年04月08日
    浏览(55)
  • 大数据:Hadoop基础常识hive,hbase,MapReduce,Spark

    Hadoop是根据Google三大论文为基础研发的,Google 三大论文分别是: MapReduce、 GFS和BigTable。 Hadoop的核心是两个部分: 一、分布式存储(HDFS,Hadoop Distributed File System)。 二、分布式计算(MapReduce)。 MapReduce MapReduce是“ 任务的分解与结果的汇总”。 Map把数据切分——分布式存放

    2024年04月25日
    浏览(55)
  • Hadoop生态之Mapreduce

    今天给大家带来的是Hadoop生态中的Mapreduce,看到这里诸佬们可能就有疑惑了呢,啥是Mapreduce?小小的脑袋大大的疑惑。 在上篇博客中博主使用了王者来举例子,如果把Hadoop当作王者的话,HDFS是后台存储点券数据的系统的话,那么我们今天介绍的Mapreduce就是某者用来计算优惠

    2024年02月02日
    浏览(47)
  • 大数据篇 | Hadoop、HDFS、HIVE、HBase、Spark之间的联系与区别

    Hadoop是一个开源的分布式计算框架,用于存储和处理大规模数据集。它提供了一个可扩展的分布式文件系统(HDFS)和一个分布式计算框架(MapReduce),可以在大量廉价硬件上进行并行计算。 HDFS(Hadoop Distributed File System)是Hadoop的分布式文件系统。它被设计用于在集群中存储

    2024年02月16日
    浏览(58)
  • 《Hadoop篇》------HDFS与MapReduce

    目录 一、HDFS角色职责总结 二、CheckPoint机制 三、Mapreduce序列化 四、Mapper 4.1、官方介绍 4.2、Split计算 4.3、Split和block对应关系 4.4、启发式算法 五、MapTask整体的流程 六、压缩算法 6.1、压缩算法适用场景 6.2、压缩算法选择  6.2.1、Gzip压缩 6.2.2、Bzips压缩 6.2.3、Lzo压缩 七、Res

    2023年04月08日
    浏览(62)
  • Hadoop生态体系-HDFS

    Hadoop:允许使用简单的编程模型在大量计算机集群上对大型数据集进行分布式处理。 核心组件有: HDFS(分布式文件系统):解决海量数据存储 YARN(作业调度和集群资源管理的框架):解决资源任务调度 MAPREDUCE(分布式运算编程框架):解决海量数据计算 特点:扩容能力(

    2024年02月16日
    浏览(75)
  • 云计算与大数据之间的羁绊(期末不挂科版):云计算 | 大数据 | Hadoop | HDFS | MapReduce | Hive | Spark

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 大数据是需求,云计算是手段。没有大数据,就不需要云计算;没有云计算,就无法处理大数据。 所有的计算能力、存储能力、和各种各样功能的应用都通过网络

    2024年02月04日
    浏览(64)
  • Hadoop三大“金刚”完美剖析 ─────── HDFS、MapReduce、YARN

    因为HDFS是分布式储存文件的模式,所以在储存文件的数据时,会将文件切分为大小一致的数据块, 如果出现文件大小不是128M的倍数时,那么最后一个文件会与之前切分文件大小不一致。 被切分成的数据块就是Block块,NameNode将Block块进行分布式储存到DataNode中。    (Block块

    2024年04月10日
    浏览(42)
  • Hadoop实训任务3:HDFS和MapReduce综合操作

    目录 1、启动Hadoop服务 2、创建文本文件 3、上传文本文件 4、显示文件内容 5、完成排序任务 6、计算最大利润和平均利润 7、统计学生总成绩和平均成绩 8、总结 在 master 虚拟机上执行命令: 启动hadoop服务进程 ​ ​ ​ 在master虚拟机上创建本地文件 students.txt ​ 将 students.tx

    2024年02月10日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包