精华内容
下载资源
问答
  • hadoop生态

    2018-01-02 16:56:53
    主要介绍阿里的搜索离线系统,实时计算方案与集群优化与管理
  • 对于Hadoop生态的介绍网上的资料非常多,我就结合我自己的使用来说一下我自己的体会。这一篇相当于一个导入吧,后面会对每个组件详细介绍。Hadoop是什么?大数据处理包括两部分,分布式存储和分布式计算。Hadoop框架...

    对于Hadoop生态的介绍网上的资料非常多,我就结合我自己的使用来说一下我自己的体会。

    这一篇相当于一个导入吧,后面会对每个组件详细介绍。

    Hadoop是什么?

    大数据处理包括两部分,分布式存储和分布式计算。

    Hadoop框架的核心是HDFS和MapReduce。其中 HDFS 是分布式文件系统,MapReduce 是分布式数据处理模型和执行环境。

    Hadoop的优势:
    1. 运行方便:Hadoop是运行在由一般商用机器构成的大型集群上。
    2. 健壮性:Hadoop致力于在一般的商用硬件上运行,能够从容的处理类似硬件失效这类的故障。
    3. 可扩展性:Hadoop通过增加集群节点,可以线性地扩展以处理更大的数据集。
    4. 简单:Hadoop允许用户快速编写高效的并行代码。

    Hadoop的生态

    bf095f31d06799043c70034455c03201.png
    • HDFS,Hadoop的分布式文件系统
    • MapReduce,分布式计算框架
    • Flume日志采集工具。
    • Sqoop,将关系数据库中的数据导入HDFS的工具
    • Hive数据仓库,pig分析数据的工具
    • Oozie作业流调度引擎
    • Hue,Hadoop自己的监控管理工具
    • Hbase分布式的面向列的开源数据库
    • spark内存计算,现在基本已经取代了MR
    展开全文
  • Hadoop生态系统 01Hadoop在过去的几年里已经变得很成熟了。下面的图1-2显示了Hadoop生态系统堆栈。Apache Phoenix是HBase的SQL包装,它需要基本的HBase理解,在某种程度上,还需要理解它原生的调用行为。了解其他...
    027646892772ff643b7cad94d7ef26f3.png

       Hadoop生态系统   

    01

    Hadoop在过去的几年里已经变得很成熟了。下面的图1-2显示了Hadoop生态系统堆栈。Apache Phoenix是HBase的SQL包装,它需要基本的HBase理解,在某种程度上,还需要理解它原生的调用行为。了解其他Hadoop生态系统组件以及HBase,将有助于更好地理解大数据领域,并利用Phoenix及其最佳可用特性。在本章中,我们将概述这些组件及其在生态系统中的位置。70fe0d431f51d26df9053d13ba2ff2b6.png

    02

       HDFS   

    HDFS (Hadoop分布式文件系统)是一个分布式文件系统,提供高吞吐量的数据访问。HDFS以块的形式存储数据。旧版本,每个块64 MB,新Hadoop版本,每个块128 MB。大于块大小的文件将自动分割成多个块,并存储备份在各个节点上,默认情况下每个块的副本数为3;这意味着每个块将在三个节点上可用,以确保高可用性和容错性。副本数是可配置的,可以在HDFS配置文件中更改。NameNode: NameNode负责协调和管理系统中的其他节点。NameNode是整个系统的管理者。它通过元数据使用命名系统来跟踪文件和目录。它管理存储在数据节点(包含实际数据的节点)上的数据块。可以将NameNode配置为高可用性,备用节点中的备份节点和主节点作为活动节点。Datanode: Datanode是集群中实际存储数据(HDFS块)的机器。在HDFS中,数据块分布在网络上。数据块被复制到多个数据节点上,以处理节点故障场景。数据节点服务器向客户端提供数据块的读写请求。Secondary NameNode :Secondary NameNode 提供内存或磁盘存储本地数据的备份。它定期连接到主NameNode,并在内存中执行元数据备份检查点。如果NameNode失败,您可以使用收集到的检查点信息重新构建NameNode。在当前的Hadoop版本中,Secondary NameNode 几乎被弃用,并且没有被大量使用。下图(见图1-3)显示了HDFS组件和块的数据存储。37380101c59f4c9ab20c8ac0058c4c45.png

       MapReduce 

    03

    Hadoop MapReduce是一个软件框架,我们可以使用它轻松地编写应用程序,以可靠的、容错的方式并行处理大量数据。MapReduce是一种包含Map和Reduce两种算法的编程技术。Map任务:Map stage或mapper的工作是处理输入并将其转换为键/值对形式的较小部分。Reduce任务:Reduce阶段或减速器的工作是将阶段数据输出处理为更小的元组(键/值对)。这个阶段结合了shuffle和reduce任务。9200bee1e4c6181a9b6f8093a5e3056a.png让我们以单词计数为例来理解MapReduce是如何工作的。单词计数问题是一个非常基本的例子,就像Java编程中的HelloWorld一样,Hadoop开发人员通常从WordCount开始他们的MapReduce编程。在下面的示例中,使用MapReduce计算输入文件中每个单词出现的次数。单词计数处理分两个阶段进行:映射阶段和减速器阶段。在mapper阶段(由mapper完成),首先将输入标记为单词,然后我们用这些单词组成键/值对,其中键是单词本身,值是单词的计数,所以这里的值是“1”。例如,将这句话作为MapReduce处理的输入:“hello phoenix world by phoenix”在map阶段,句子被分成单词,每个单词被分配给一个初始键值对,反映一个单一的事件: 在reduce阶段,将键组合在一起,并添加类似键的值。因此,只有一对类似的键,这些键的值(count)将被添加,因此输出键/值对将是 这给出了输入文件中每个单词的出现次数。因此,减速机形成了映射键的聚合。我们还可以在reduce阶段应用排序。这里需要注意的一点是,首先映射器在整个数据集中完全执行,分解单词并使它们的键值对。只有mapper完成其过程后,减速器才会启动。假设我们的输入文件中总共有50行,首先对50行进行标记,并并行地形成键值对(每个节点并行执行的任务);只有在此之后,减速器才会开始聚合。请参见下面的图1-5,以了解如何对单词计数示例进行MapReduce处理。6665f2df11164fb27020cc57c44927ca.png在这里,我们将不描述如何用Java或任何其他语言实现MapReduce。其目的是说明MapReduce概念。

    04

       HBase   

    HBase是一个运行在Hadoop HDFS之上的NoSQL列族数据库。HBase是为处理具有数十亿行和数百万列的大型存储表而开发的,具有容错能力和水平可伸缩性。HBase概念的灵感来自谷歌的Big Table。Hadoop主要用于批处理,在批处理中,数据只能按顺序访问,其中HBase用于快速随机访问海量数据。HBase是一个分布式的、面向列的NoSQL数据库,它使用HDFS作为底层存储。我们已经提到过,HDFS使用的是写一次和读多次(WORM)模式,但并不总是这样。有时甚至一个巨大的数据集也需要实时的读/写随机访问;这就是HBase发挥作用的地方。HBase构建在HDFS之上,并分布在一个面向列的数据库上。图1-6显示了一个简单的HBase体系结构及其组件。d44a4973730cedb5164a5f260190a3fc.png

       Hive   

    05

    Hive是一种交互式的、简单的、类似sql的脚本语言,用于查询存储在HDFS中的数据。虽然我们可以使用Java来处理HDFS,但是许多数据程序员最习惯使用SQL。Hive最初由Facebook创建,用于自己的基础设施处理,后来他们将其开源并捐赠给Apache软件基金会。Hive的优点是它在幕后运行MapReduce作业,但是程序员不必担心这是如何发生的。程序员只需编写HQL (Hive查询语言),结果就会显示在控制台上。Hive是Hadoop生态系统的一部分,它为Hadoop的底层HDFS提供了一个类似sql的交互界面。您可以编写特别查询并分析存储在HDFS中的大型数据集。当用Hive查询语言编写这种逻辑不方便或效率低下时,程序员可以插入他们的定制映射器和缩减器。Hive可以分为以下几个部分:元数据存储:包含关于分区、列和系统目录的元数据。驱动程序:为HQL (Hive查询语言)语句生命周期提供管理。查询编译器:将HQL编译成一个有向无环图。执行引擎:按编译器生成任务的顺序执行任务。HiveServer:提供一个节俭的接口和JDBC/ODBC服务器。

    06

       Yarn   

    Apache HadoopYarn是Apache Software Foundation (ASF)中Apache Hadoop的一种集群管理技术,与其他HDFS、Hadoop Common和MapReduce一样是hadoop的一个子项目。Yarn是另一个资源管理平台。yarn是一个通用的分布式应用程序管理框架,它取代了用于处理Hadoop集群中的数据的经典MapReduce框架。在Hadoop生态系统中,HDFS是存储层,MapReduce是数据处理层。然而,MapReduce算法对于各种用例来说是不够的。yarn是一个中央资源管理器和分布式应用程序框架,可用于多个数据处理应用程序。它将应用程序使用资源的方式与监视单个集群节点的处理操作的节点管理器代理进行协调。

       Spark   

    07

    Apache Spark是一个开放源码的快速内存数据处理引擎,旨在提高速度、易用性和复杂的分析能力。Spark用于管理文本数据、图形数据等多种数据集的大数据处理,以及数据来源(批量/实时流数据)。Spark允许Hadoop中的应用程序在内存中运行,这比在磁盘上运行快得多。除了Map和Reduce操作之外,Spark还支持流数据、SQL查询、机器学习和图形数据处理。除此之外,它还减少了维护单独工具的管理问题。

    08

       Pig   

    Apache Pig用于查询存储在Hadoop集群中的数据。它允许用户使用高级的类似SQL的脚本语言Pig Latin编写复杂的MapReduce转换。Pig通过使用它的Pig引擎组件将Pig拉丁脚本转换成MapReduce任务,这样它就可以在YARN中执行,从而访问存储在HDFS中的单个数据集。程序员不需要为MapReduce任务编写复杂的Java代码,而是可以使用Pig Latin来执行MapReduce任务。SQL开发人员喜欢编写脚本,而Pig Latin是他们的首选代码。Apache Pig提供了嵌套的数据类型,如元组、包和映射,这些数据类型是MapReduce中缺少的,同时还提供了内置的操作符,如连接、过滤器和排序等。

       Zookeeper   

    09

    由于主机之间可能发生部分故障,所以很难编写分布式应用程序。Apache Zookeeper就是为了缓解这个问题而开发的。Zookeeper维护一个开源服务器,它支持高度可靠的分布式协调。Zookeeper框架由Yahoo创建,供内部使用,并捐赠给开源社区。Zookeeper是一个分布式协调服务,它管理大量节点。在任何部分故障时,客户端可以连接到任何节点以接收正确的最新信息。没有管理员,HBase无法运行。ZooKeeper是Apache Phoenix中协调服务的关键组件。Zookeeper处理应用程序的分布式特性,让程序员专注于应用程序逻辑。

    10

      phoenix在大数据系统中的地位   

    虽然Phoenix不是Hadoop生态系统不可分割的一部分,但它是有效使用Hadoop的必要工具。现在,它正在吸引那些编写查询来处理HBase数据的程序员。在本节中,我们将从数据库管理员的角度研究执行大数据分析的挑战,以及Phoenix如何帮助减轻这些挑战。

       Phoenix 在 Hadoop 生态系统   

    11

    编写代码的开发人员可以使用HBase API从HBase存储、检索或查询数据。与用Java或其他语言编写代码相比,许多程序员更喜欢结构化查询语言(SQL)。Phoenix是一种SQL接口,可以用来查询HBase存储中的数据。它是一个为用户提供工具的系统,可以进行强大的查询并获得结果,通常是实时的。与Hive相比,Phoenix对Hbase进行了高度优化,提供了比其他类似框架更好的性能,并支持许多其他有趣的特性,我们将在接下来的章节中讨论这些特性。HBase用作Hadoop的主数据库,也称为Hadoop的数据库。Phoenix作为Hbase的SQL接口,在hadoop相关的大数据分析中发挥着至关重要的作用。请参阅下面的示例Phoenix查询示例,该查询从employee表检索记录。如果您分析查询,您会发现它与SQL相似,并且易于编写和理解。例如:SELECT EMP_ID, FNAME,CITY FROM EMPLOYEE; 

    12

       Apache Phoenix的大数据分析   

    大数据的增长使得企业参与云计算和物联网等技术的使用变得至关重要。大数据分析对于组织跟上市场趋势变得越来越必要。Phoenix和其他大数据工具正在获得发展势头,因为它们支持舒适的类似sql的界面、可读性和快速学习曲线。在幕后,Phoenix将SQL查询编译为HBase本机调用,并并行运行扫描或计划进行优化。Phoenix应用程序可以根据用户的要求运行MapReduce作业,并利用大数据的基本原理,但程序员不需要知道这些;他或她应该专注于业务逻辑和编写脚本来访问大数据存储。Apache Phoenix在其领域内比其他可用工具更受欢迎。其优点在于Phoenix提供了一些特性,比如跳过全表扫描、提高整个系统的性能、服务器/客户机端并行化、过滤器下推和Phoenix查询服务器,从而将处理与应用程序、事务和辅助索引解耦。Phoenix查询与SQL非常相似,这使得每个传统数据库管理员都喜欢它。当然,还有许多其他工具可以与大数据系统交互来查询和执行分析,但是Phoenix对HBase的强大支持和优化使得它更有可能成为使用Hadoop HBase数据库的首选SQL接口。尽管它不是Hadoop生态系统的必要部分,但对Hbase的需求很大。Phoenix与诸如Spark、Flume、Hive、Pig和MapReduce等etl的大数据技术的集成使其成为Hadoop生态系统中受欢迎的一部分。

       传统的基于sql的工具的重要性和Phoenix的作用

    13

    几十年来,SQL一直是与关系数据库系统交互的主要工具。人们熟悉并熟悉这种技术及其语法。在大数据的世界里,没有像SQL这样的标准工具,但是许多分销商提供了选项,为查询大数据系统提供类似SQL的接口。这些工具针对底层支持进行了优化,速度足以查询数百万行。phoenix,hive,和其他属于这一类。如果你是DBA,你可能不想学习或理解在Hadoop系统中处理数据的Java代码。这些工具提供了这种支持;您不必是开发人员才能理解Hadoop API来查询数据。Phoenix为您提供了编写查询的灵活性,就像处理数据时编写SQL一样。

    561f2baa6a07d70cf74a3f786cf65822.png

    展开全文
  • 随着处理任务不同,各种组件相继出现,丰富Hadoop生态圈,目前生态圈结构大致如图所示: 根据服务对象和层次分为:数据来源层、数据传输层、数据存储层、资源管理层、数据计算层、任务调度层、业务模型层。...

     Hadoop是目前应用最为广泛的分布式大数据处理框架,其具备可靠、高效、可伸缩等特点。

        Hadoop的核心组件是HDFS、MapReduce。随着处理任务不同,各种组件相继出现,丰富Hadoop生态圈,目前生态圈结构大致如图所示:

    c5ebcf6e43e1b106d3bb557f98ed650b.png

       根据服务对象和层次分为:数据来源层、数据传输层、数据存储层、资源管理层、数据计算层、任务调度层、业务模型层。接下来对Hadoop生态圈中出现的相关组件做一个简要介绍。

        1、HDFS(分布式文件系统)

    HDFS是整个hadoop体系的基础,负责数据的存储与管理。HDFS有着高容错性(fault-tolerant)的特点,并且设计用来部署在低廉的(low-cost)硬件上。而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。

    client:切分文件,访问HDFS时,首先与NameNode交互,获取目标文件的位置信息,然后与DataNode交互,读写数据

    NameNode:master节点,每个HDFS集群只有一个,管理HDFS的名称空间和数据块映射信息,配置相关副本信息,处理客户端请求。

    DataNode:slave节点,存储实际数据,并汇报状态信息给NameNode,默认一个文件会备份3份在不同的DataNode中,实现高可靠性和容错性。

    Secondary NameNode:辅助NameNode,实现高可靠性,定期合并fsimage和fsedits,推送给NameNode;紧急情况下辅助和恢复NameNode,但其并非NameNode的热备份。

        2、MapReduce(分布式计算框架)

    MapReduce是一种基于磁盘的分布式并行批处理计算模型,用于处理大数据量的计算。其中Map对应数据集上的独立元素进行指定的操作,生成键-值对形式中间,Reduce则对中间结果中相同的键的所有值进行规约,以得到最终结果。

    Jobtracker:master节点,只有一个,管理所有作业,任务/作业的监控,错误处理等,将任务分解成一系列任务,并分派给Tasktracker。

    Tacktracker:slave节点,运行 Map task和Reduce task;并与Jobtracker交互,汇报任务状态。

    Map task:解析每条数据记录,传递给用户编写的map()函数并执行,将输出结果写入到本地磁盘(如果为map—only作业,则直接写入HDFS)。

    Reduce task:从Map 它深刻地执行结果中,远程读取输入数据,对数据进行排序,将数据分组传递给用户编写的Reduce()函数执行。

        3、Spark(分布式计算框架)

    Spark是一种基于内存的分布式并行计算框架,不同于MapReduce的是——Job中间输出结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的MapReduce的算法。

    Cluster Manager:在standalone模式中即为Master主节点,控制整个集群,监控worker。在YARN模式中为资源管理器

    Worker节点:从节点,负责控制计算节点,启动Executor或者Driver。

    Driver:运行Application 的main()函数

    Executor:执行器,是为某个Application运行在worker node上的一个进程

    Spark将数据抽象为RDD(弹性分布式数据集),内部提供了大量的库,包括Spark Core、Spark SQL、Spark Streaming、MLlib、GraphX。开发者可以在同一个应用程序中无缝组合使用这些库。

    Spark Core:包含Spark的基本功能;尤其是定义RDD的API、操作以及这两者上的动作。其他Spark的库都是构建在RDD和Spark Core之上的

    Spark SQL:提供通过Apache Hive的SQL变体Hive查询语言(HiveQL)与Spark进行交互的API。每个数据库表被当做一个RDD,Spark SQL查询被转换为Spark操作。

    Spark Streaming:对实时数据流进行处理和控制。Spark Streaming允许程序能够像普通RDD一样处理实时数据,通过短时批处理实现的伪流处理。

    MLlib:一个常用机器学习算法库,算法被实现为对RDD的Spark操作。这个库包含可扩展的学习算法,比如分类、回归等需要对大量数据集进行迭代的操作。

    GraphX:控制图、并行图操作和计算的一组算法和工具的集合。GraphX扩展了RDD API,包含控制图、创建子图、访问路径上所有顶点的操作

        4、Flink(分布式计算框架)

    Flink是一个基于内存的分布式并行处理框架,类似于Spark,但在部分设计思想有较大出入。对 Flink 而言,其所要处理的主要场景就是流数据,批数据只是流数据的一个极限特例而已。

    Flink VS Spark

    Spark中,RDD在运行时是表现为Java Object,而Flink主要表现为logical plan。所以在Flink中使用的类Dataframe api是被作为第一优先级来优化的。但是相对来说在spark RDD中就没有了这块的优化了。

    Spark中,对于批处理有RDD,对于流式有DStream,不过内部实际还是RDD抽象;在Flink中,对于批处理有DataSet,对于流式我们有DataStreams,但是是同一个公用的引擎之上两个独立的抽象,并且Spark是伪流处理,而Flink是真流处理。

        5、Yarn/Mesos(分布式资源管理器)

    YARN是下一代MapReduce,即MRv2,是在第一代MapReduce基础上演变而来的,主要是为了解决原始Hadoop扩展性较差,不支持多计算框架而提出的。

    Mesos诞生于UC Berkeley的一个研究项目,现已成为Apache项目,当前有一些公司使用Mesos管理集群资源,比如Twitter。与yarn类似,Mesos是一个资源统一管理和调度的平台,同样支持比如MR、steaming等多种运算框架。

        6、Zookeeper(分布式协作服务)

    解决分布式环境下的数据管理问题:统一命名,状态同步,集群管理,配置同步等。

    Hadoop的许多组件依赖于Zookeeper,它运行在计算机集群上面,用于管理Hadoop操作。

        7、Sqoop(数据同步工具)

    Sqoop是SQL-to-Hadoop的缩写,主要用于传统数据库和Hadoop之前传输数据。数据的导入和导出本质上是Mapreduce程序,充分利用了MR的并行化和容错性。

    Sqoop利用数据库技术描述数据架构,用于在关系数据库、数据仓库和Hadoop之间转移数据。

        8、Hive/Impala(基于Hadoop的数据仓库)

    Hive定义了一种类似SQL的查询语言(HQL),将SQL转化为MapReduce任务在Hadoop上执行。通常用于离线分析。

    HQL用于运行存储在Hadoop上的查询语句,Hive让不熟悉MapReduce开发人员也能编写数据查询语句,然后这些语句被翻译为Hadoop上面的MapReduce任务。

    Impala是用于处理存储在Hadoop集群中的大量数据的MPP(大规模并行处理)SQL查询引擎。它是一个用C ++和Java编写的开源软件。与Apache Hive不同,Impala不基于MapReduce算法。它实现了一个基于守护进程的分布式架构,它负责在同一台机器上运行的查询执行的所有方面。因此执行效率高于Apache Hive。

        9、HBase(分布式列存储数据库)

    HBase是一个建立在HDFS之上,面向列的针对结构化数据的可伸缩、高可靠、高性能、分布式和面向列的动态模式数据库。

    HBase采用了BigTable的数据模型:增强的稀疏排序映射表(Key/Value),其中,键由行关键字、列关键字和时间戳构成。

    HBase提供了对大规模数据的随机、实时读写访问,同时,HBase中保存的数据可以使用MapReduce来处理,它将数据存储和并行计算完美地结合在一起。

       10、Flume(日志收集工具)

    Flume是一个可扩展、适合复杂环境的海量日志收集系统。它将数据从产生、传输、处理并最终写入目标的路径的过程抽象为数据流,在具体的数据流中,数据源支持在Flume中定制数据发送方,从而支持收集各种不同协议数据。

    同时,Flume数据流提供对日志数据进行简单处理的能力,如过滤、格式转换等。此外,Flume还具有能够将日志写往各种数据目标(可定制)的能力。

    Flume以Agent为最小的独立运行单位,一个Agent就是一个JVM。单个Agent由Source、Sink和Channel三大组件构成

    7da4999e3ef80deb842aececd504443e.png

     Source:从客户端收集数据,并传递给Channel。

    Channel:缓存区,将Source传输的数据暂时存放。

    Sink:从Channel收集数据,并写入到指定地址。

    Event:日志文件、avro对象等源文件。

     11、Kafka(分布式消息队列)

    Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。实现了主题、分区及其队列模式以及生产者、消费者架构模式。

    生产者组件和消费者组件均可以连接到KafKa集群,而KafKa被认为是组件通信之间所使用的一种消息中间件。KafKa内部氛围很多Topic(一种高度抽象的数据结构),每个Topic又被分为很多分区(partition),每个分区中的数据按队列模式进行编号存储。被编号的日志数据称为此日志数据块在队列中的偏移量(offest),偏移量越大的数据块越新,即越靠近当前时间。生产环境中的最佳实践架构是Flume+KafKa+Spark Streaming。

    展开全文
  • Hadoop生态简介

    2020-02-18 11:22:38
    ppt简单讲述了 1、hadoop的分布式文件存储HDFS和分布式计算MapReduce的原理 2、hadoop生态应用
  • 今天心情不错,所以就整一个hadoop生态系统框架图:通过flume,kafka,sqoop收集海量数据,存储到分布式文件系统hdfs中。分布式计算MapReduce对hdfs中的数据进行ETL,分析等操作。通过Hive对MapReduce进行封装成HQL...

    今天心情不错,所以就整一个hadoop生态系统框架图:

    2d21d05b4b7fb8e102409d61f74a8b0e.png

    通过flume,kafka,sqoop收集海量数据,存储到分布式文件系统hdfs中。

    分布式计算MapReduce对hdfs中的数据进行ETL,分析等操作。

    通过Hive对MapReduce进行封装成HQL可以大大减轻编程人员的工作量。

    以上分析计算都运行在资源调度平台Yarn中。

    由于业务在多台服务器中进行,需要zookeeper进行管理。

    本文包含内容:

    管理工具:zookeeper

    采集部分:flume,sqoop,kafka

    存储部分:HDFS

    资源调度:YARN

    分布式计算:MapReduce

    封装:Hive

    官网地址:

    zookeeper:https://zookeeper.apache.org/

    hadoop:https://hadoop.apache.org/

    flume:https://flume.apache.org/

    关于Flume对接kafka采集用户日志以及sqoop采集用户业务数据的过程参考我的一篇文章:用户数据采集分析

    HDFS

    分布式文件存储系统

    优点:存储规模大,高容错,低成本

    缺点:实时性差,无法高效存储小文件,不支持随机修改,只支持追加

    73d46e0ae962c9d4d006040cc185376b.png

    Hdfs文件块(block)大小:128MB(10ms/(1%)*100MB/s)

    c75e938e817ed29de8a0fc5c2b0cf365.png

    常用命令:

    2851c938c8cd72b7cd17a3c379e65e90.png

    hdfs读写数据和网络拓扑可以参考我之前的另一篇文章:一文折服面试官-HDFS分布式文件存储系统读写过程

    机架感知: 

    feeb75f58f5a88237260fbf3b9079f14.png

    HDFS小文件处理:

    (1)har小文件归档

    (2)Combinetextinputformat

    (3)开启jvm重用

    YARN

    MR运行需要yarnRunner向resourcemanager申请一个application,resourcemanager会向yarnRunner返回application提交路径......

    整个原理图:

    abd09db78dc88d1ea1863aecb02bdf11.png

    Zookeeper

    Zookeeper=文件系统+通知机制

    2e7a1c26150abaf3fb1eb221da27959a.png

    文件结构:

    6e6f7f5552a071aa41a5f0d97c36af84.png

    监听原理:

    85d6abf4e8cbf6697eaf4c1316e40eb1.png

    选举机制:少数服从多数,墙头草,leaderfollower

    半数机制:半数以上存活,集群可用。Zookeeper适合安装奇数台服务器

    常用命令: 

    ec6becab1038a0d30d28643cb6f3e976.png

    写数据流程:

    e86d45a8947bf3477eec452563c4d487.png

    累了,剩下的下一次继续。。。

    展开全文
  • 大数据Hadoop生态圈介绍

    万次阅读 多人点赞 2019-07-12 14:22:47
    大数据Hadoop生态圈-组件介绍 Hadoop是目前应用最为广泛的分布式大数据处理框架,其具备可靠、高效、可伸缩等特点。 Hadoop的核心组件是HDFS、MapReduce。随着处理任务不同,各种组件相继出现,丰富Hadoop生态圈...
  • 16 年老品牌上市IT 培训机构 官方网站 学大数据就选光环大数据 Hadoop 生态系统知识介绍 首先我们先了解一下Hadoop 的起源然后介绍一些关于Hadoop 生态系统中的具体工 具的使用方法如:HDFSMapReduceYarn ...
  • Hadoop生态圈总体介绍

    2018-04-13 17:17:59
    Hadoop生态圈总体介绍 Hadoop生态圈总体介绍 Hadoop生态圈总体介绍
  • Hadoop生态

    2020-12-05 11:53:31
    Hadoop生态圈前言一、Hadoop生态HadoopHadoop生态圈二、生态圈模块HDFSMapReduceYarnHiveZookeeperHbaseSqoop 前言         截止写这边文章前,已经学习了hadoop、hive、...
  • hadoop生态圈.pptx

    2020-03-24 14:39:19
    Hadoop生态圈,讲解,带你深入了解Hadoop平台。
  • HADOOP生态

    2019-07-05 13:03:15
    HADOOP生态圈介绍 hadoop 生态概况 Hadoop是一个由Apache基金会所开发的分布式系统基础架构。 用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。 具有可靠、高效...
  • 精选的超赞Hadoop和Hadoop生态系统资源列表。 受到 , 和启发 Hadoop -Apache Hadoop - 的对象存储 -Hadoop中基于YARN的数据处理应用程序的框架 -SpatialHadoop是Apache HadoopMapReduce扩展,专门用于处理空间...
  • Hadoop生态系统

    2018-01-06 21:13:30
    Hadoop生态系统 首先我们先了解一下Hadoop的起源。然后介绍一些关于Hadoop生态系统中的具体工具的使用方法。如:HDFS、MapReduce、Yarn、Zookeeper、Hive、HBase、Oozie、Mahout、Pig、Flume、Sqoop。 Hadoop的...
  • Hadoop生态系统学习

    2018-04-20 16:40:40
    本文是HADOOP生态系统的基础教程,介绍HADOOP主要组件如HIVE,HDFS,HBASE, ZOOKEEPER ,MAPREDUCE, PIG, MAHOUT的概念,特点,运行流程等。
  • hadoop 之Hadoop生态系统

    2017-11-12 02:02:00
    1、Hadoop生态系统概况 Hadoop是一个能够对大量数据进行分布式处理的软件框架。具有可靠、高效、可伸缩的特点。 Hadoop的核心是HDFS和Mapreduce,hadoop2.0还包括YARN。 下图为hadoop的生态系统: 2、HDFS...
  • 1. hadoop 生态概况 Hadoop是一个由Apache基金会所开发的分布式系统基础架构。 用户可以在不了解分布式底层细节的情况下,...下图是hadoop生态系统,集成spark生态圈。在未来一段时间内,hadoop将于spark共存,ha...
  • hadoop 生态概况

    2019-05-09 16:51:13
    1. hadoop 生态概况 Hadoop是一个由Apache基金会所开发的分布式系统基础架构。 用户可以在不了解分布式底层细节的情况下,...下图是hadoop生态系统,集成spark生态圈。在未来一段时间内,hadoop将于spark共存,ha...
  • 理解Hadoop与Hadoop生态的区别与联系一、Hadoop是什么?二、Hadoop生态是什么? 一、Hadoop是什么? 1、Hadoop狭义框架,广义生态圈 2、Hadoop是java语言实现开源软件框架,是开发和运行处理大规模数据的软件平台 3...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 9,066
精华内容 3,626
关键字:

hadoop生态