cloudera_cloudera认证 - CSDN
精华内容
参与话题
  • Cloudera的介绍

    千次阅读 2018-10-30 10:52:09
    Hadoop中规模最大、知名度最高的是Cloudera 由于Hadoop深受客户欢迎,许多公司都推出了各自版本的Hadoop,也有一些公司则围绕Hadoop开发产品。在Hadoop生态系统中,规模最大、知名度最高的公司则是Cloudera。 ...

    简介

    Hadoop中规模最大、知名度最高的是Cloudera

    由于Hadoop深受客户欢迎,许多公司都推出了各自版本的Hadoop,也有一些公司则围绕Hadoop开发产品。在Hadoop生态系统中,规模最大、知名度最高的公司则是Cloudera。

    Cloudera成立于2008年,在企业和大型机构在寻求解决棘手的大数据问题时,往往会使用开源软件基础架构Hadoop的服务。

    2018年10月,均为开源平台的Cloudera与Hortonworks公司宣布他们以52亿美元的价格合并。

    官方网站:https://www.cloudera.com/

    创建

    Cloudera由来自Facebook谷歌和雅虎的前工程师杰夫·哈默巴切(Jeff Hammerbacher)、克里斯托弗·比塞格利亚(Christophe Bisciglia)、埃姆·阿瓦达拉(Amr Awadallah)以及现任CEO、甲骨文前高管迈克·奥尔森(Mike Olson)在2008年创建。

    发展

    这些年来,Hadoop,这个曾经飞速发展的开源平台,催生了许多公司并形成了一套供应商生态系统。

    人们也一直相信一些大公司会从中脱颖而出,果然,Hortonworks在2014年上市。三年后,Cloudera也上市了。但由于市场需求减缓,今天两家公司宣布他们在昨天收市价格的基础上以52亿美元的价格合并。

    尽管任何人都可以下载Hadoop,但它太复杂了。而这就是Hortonworks和Cloudera等公司所存在的意义。IT部门希望发挥Hadoop作为一个大型数据处理平台的优势,而不是从头构建Hadoop,而这一点这些公司能为他们做到。这些公司提供了不同的方法来使其变得更简单,但似乎这些基于云的大数据解决方案对Hadoop系统并无作用,甚至Cloudera、Hortonworks等公司也束手无策。

    但问题恰恰在于,企业如何使用和管理Hadoop的产品,如何挖掘它的价值,推动自家业务增长。Cloudera则会提供这方面的专业服务,并从中获利。Cloudera出售基于Hadoop的软件,也发布自家版本的Hadoop产品,帮助订阅客户管理数据。 [2] 

    2014年Cloudera正式进入中国。

    Intel在2014年3月宣布向Cloudera投入大笔资金,总投资额增至7.4亿美元,持股比例达到18%,已经成为Cloudera最大的战略股东。据了解,双方的合作将从多个方面展开:Intel的Hadoop发行版(简称IDH)将并入Cloudera Hadoop发行版(简称CDH)。在本周五发布的CDH 5.3当中就将完全融合了IDH的所有功能,而此前IDH的用户也可以快速平滑地迁移到CDH平台上。此外,Cloudera还会和Intel在开源方面进行合作,在基于开放的Intel平台硬件上做大量优化,让Intel硬件平台成为运行大数据最好的平台。

    2018年10月,均为开源平台的Cloudera与Hortonworks公司宣布他们以52亿美元的价格合并。两家公司称合并后公司将拥有2500客户、7.2亿美元收入和5亿美元现金,且没有债务。

    CDH的特性

    CDH是Apache Hadoop和相关项目的最完整,经过测试的流行发行版。 CDH提供了Hadoop的核心元素 - 可扩展的存储和分布式计算 - 以及基于Web的用户界面和重要的企业功能。 CDH是Apache许可的开放源码,是唯一提供统一批处理,交互式SQL和交互式搜索以及基于角色的访问控制的Hadoop解决方案。

    Cloudera作为一个强大的商业版数据中心管理工具,提供了各种能够快速稳定运行的数据计算框架,如Apache Spark;使用Apache Impala做为对HDFS,HBase的高性能SQL查询引擎;也带了Hive数据仓库工具帮助用户分析数据; 用户也能用Cloudera管理安装HBase分布式列式NoSQL数据库;Cloudera还包含了原生的Hadoop搜索引擎以及Cloudera Navigator Optimizer去对Hadoop上的计算任务进行一个可视化的协调优化,提高运行效率;同时Cloudera中提供的各种组件能让用户在一个可视化的UI界面中方便地管理,配置和监控Hadoop以及其它所有相关组件,并有一定的容错容灾处理;Cloudera作为一个广泛使用的商业版数据中心管理工具更是对数据的安全决不妥协!

    CDH 提供:

    • 灵活性 - 存储任何类型的数据,并使用各种不同的计算框架进行处理,包括批处理,交互式SQL,自由文本搜索,机器学习和统计计算。
    • 集成 - 在一个可与广泛的硬件和软件解决方案配合使用的完整Hadoop平台上快速启动并运行。
    • 安全 - 过程和控制敏感数据。
    • 可扩展性 - 启用广泛的应用程序并进行扩展和扩展,以满足您的需求。
    • 高可用性 - 充满信心地执行关键业务任务。
    • 兼容性 - 利用您现有的IT基础设施和资源。

    这里写图片描述

    1.CDH中的Apache Hive概述

    Hive数据仓库软件支持在分布式存储中读取,编写和管理大型数据集。使用与SQL非常相似的Hive查询语言(HiveQL),查询被转换为一系列作业通过MapReduce或Apache Spark在Hadoop集群上执行。

    用户可以使用Hive运行批处理工作负载,同时还可以在单​​个平台内使用Apache Impala或Apache Spark等工具分析交互式SQL或机器学习工作负载的相同数据。

    作为CDH的一部分,Hive还受益于:

    • 统一资源管理由YARN提供
    • Cloudera Manager提供简化的部署和管理
    • 共享安全和治理,以满足Apache Sentry和Cloudera Navigator提供的合规要求

    Hive的用例

    由于Hive是一个基于Hadoop平台构建的PB级数据仓库系统,因此对于数据量急剧增长的环境而言,它是一个不错的选择。HDFS底层MapReduce接口很难直接编程,但Hive提供了一个SQL接口,可以使用现有的编程技巧来执行数据准备。

    Hive MapReduce或Spark最适合批量数据准备或ETL:

    • 必须运行具有非常大的ETL排序并使用连接的计划批处理作业来为Hadoop准备数据。向Impala中BI用户提供的大部分数据由ETL开发人员使用Hive编写。

    • 可以运行花费数小时的数据传输或转换作业。通过Hive,如果通过这样的工作发生问题,它会恢复并继续。

    • 可以接收或提供不同格式的数据,其中Hive SerDes和各种UDF可以方便地获取和转换数据。通常,Hive的ETL过程的最后阶段可能是高性能,广泛支持的格式,例如Parquet。

    Hive组件

    Hive由以下组件组成:

    Metastore数据库

     

    Metastore数据库是Hive基础架构的一个重要方面。它是一个独立的数据库,依赖于传统的RDBMS,例如MySQL或PostgreSQL,它保存有关Hive数据库,表,列,分区和Hadoop特定信息(例如底层数据文件和HDFS块位置)的元数据。

    Metastore数据库由其他组件共享。例如,Hive和Impala都可以插入,查询,更改等相同的表。尽管您可能会看到对“Hive metastore”的引用,但请注意,即使在您未使用Hive本身的情况下,Metastore数据库也会广泛用于Hadoop生态系统。

    Metastore数据库相对紧凑,数据快速变化。备份,复制和其他类型的管理操作会影响此数据库。

    HiveServer2

    HiveServer2是一个服务器接口,它使远程客户端能够向Hive提交查询并检索结果。它取代了HiveServer1(它已被弃用,并将在未来的CDH版本中被删除)。HiveServer2支持多客户端并发,容量规划控制,Sentry授权,Kerberos身份验证,LDAP和SSL,并为JDBC和ODBC客户端提供更好的支持。

    HiveServer2是Hive执行引擎的容器。对于每个客户端连接,它会创建一个新的执行上下文,用于向客户端提供Hive SQL请求。它支持JDBC客户端,例如Beeline CLI和ODBC客户端。客户端通过基于Thrift API的Hive服务连接到HiveServer2。

    2.Apache Impala概述

    Impala 能够直接对Apache Hadoop平台中存储在HDFS,HBase 的数据提供快速的交互式SQL查询。除了使用相同的统一存储平台之外,Impala还使用与Apache Hive相同的元数据,SQL语法(Hive SQL),ODBC驱动程序和用户界面(Hue中的Impala查询UI)。这为实时或面向批处理的查询提供了一个熟悉且统一的平台。

    Impala是对可用于查询大数据的工具的补充。Impala不会取代基于MapReduce(如Hive)的批处理框架。基于MapReduce构建的Hive和其他框架最适合长时间运行的批处理作业,例如涉及批处理提取,转换和加载(ETL)类型作业的批处理作业。

    Impala的好处

    Impala提供:

    • 数据科学家和分析师已经知道的熟悉的SQL接口。
    • 能够在Apache Hadoop中查询大量数据(“大数据”)。
    • 集群环境中的分布式查询,便于扩展并使用经济高效的硬件。
    • 无需复制或导出/导入步骤即可在不同组件之间共享数据文件; 例如,使用Pig编写代码,使用Hive进行转换并使用Impala进行查询。Impala可以读取和写入Hive表格,使用Impala进行简单的数据交换,以便对Hive生成的数据进行分析。
    • 用于大数据处理和分析的单一系统,因此客户可以避免昂贵的建模和ETL仅用于分析。

    Impala如何与CDH配合使用

    下图说明了Impala如何在更广泛的Cloudera环境中定位:

    显示Impala如何与其他Hadoop组件(如HDFS,Hive Metastore数据库以及客户端程序(如JDBC和ODBC应用程序)以及Hue Web UI)相关联的体系结构图。

     

    Impala解决方案由以下组件组成:

    • 客户端 - 包括Hue,ODBC客户端,JDBC客户端和Impala Shell在内的实体都可以与Impala进行交互。这些接口通常用于发出查询或完成管理任务,例如连接到Impala。
    • Hive Metastore - 存储有关Impala可用数据的信息。例如,Metastore让Impala知道哪些数据库可用,以及这些数据库的结构如何。在创建,删除和更改模式对象,通过Impala SQL语句将数据加载到表等中时,相关的元数据更改将通过Impala 1.2中引入的专用目录服务自动广播到所有Impala节点。
    • Impala - 这个在DataNode上运行的进程,协调和执行查询。Impala的每个实例都可以接收,计划和协调来自Impala客户端的查询。查询分布在Impala节点中,然后这些节点充当工作人员,执行并行查询片段。
    • HBase和HDFS - 存储要查询的数据。

    使用Impala执行的查询处理如下:

    1. 用户应用程序通过ODBC或JDBC向Impala发送SQL查询,这些查询提供标准化的查询接口。用户应用程序可能连接到任何impalad在集群中。这个impalad 成为查询的协调者。
    2. Impala解析查询并分析它以确定需要执行的任务 impalad整个群集中的实例。计划执行是为了获得最佳效率。
    3. 诸如HDFS和HBase等服务可以通过本地访问 impalad 实例提供数据。
    4. 每 impalad 将数据返回给协调 impalad,它将这些结果发送给客户端。

    主要Impala功能

    Impala为以下方面提供支持:

    • Hive Query Language(HiveQL)的大多数常见SQL功能。
    • HDFS,HBase,其中包括:
      • HDFS文件:分隔文本文件,Parquet,Avro,SequenceFile和RCFile。
      • 压缩编解码器:Snappy,GZIP,Deflate,BZIP。
    • 常见的数据访问接口包括:
      • JDBC驱动程序
      • ODBC驱动程序
      • Hue Beeswax和Impala查询UI。
    • impla-shell命令行界面
    • Kerberos身份验证

    3. Cloudera Search概述

     

    Cloudera Search提供简单,自然的语言访问存储或存入Hadoop,HBase或云存储的数据。最终用户和其他Web服务可以使用全文查询和下钻来分析文本,半结构化和结构化数据,以及快速筛选和聚合它,以获取业务洞察力,而无需SQL或编程技能。

    Cloudera Search是Apache Solr完全集成在Cloudera平台中的产品,充分利用了CDH中包含的灵活,可扩展且强大的存储系统和数据处理框架。这消除了跨基础架构移动大型数据集以执行业务任务的需要。它进一步实现了简化的数据管道,其中搜索和文本匹配是较大工作流程的一部分。

    Cloudera Search合并了Apache Solr,其中包括Apache Lucene,SolrCloud,Apache Tika和Solr Cell。Cloudera Search包含在CDH 5及更高版本中。

    在CDH基础架构中使用Cloudera Search提供:

    • 简化基础设施
    • 更好的生产可视性和控制
    • 对各种数据类型有更快速的见解
    • 更快的问题解决方案
    • 为更多用户和SQL以外的用例简化交互和平台访问
    • 用于在相同数据上运行其他类型工作负载的同一平台上的搜索服务的可伸缩性,灵活性和可靠性
    • 跨所有进程访问数据的统一安全模型
    • 摄取和预处理选项的灵活性和规模

    下表介绍了Cloudera搜索功能。

    Cloudera搜索功能
    特征 描述
    使用Cloudera Manager进行统一管理和监控 Cloudera Manager为CDH和Cloudera Search提供统一和集中的管理和监控。Cloudera Manager简化了搜索服务的部署,配置和监控。许多现有的搜索解决方案缺乏管理和监控能力,并且无法深入了解利用率,系统健康状况,趋势和其他可支持性方面。
    索引存储在HDFS中

    Cloudera Search与HDFS集成在一起,实现了健壮,可扩展且自我修复的索引存储。由Solr / Lucene创建的索引直接使用数据写入HDFS,而不是本地磁盘,从而提供容错和冗余。

    Cloudera Search经过优化,可在HDFS中快速读取和写入索引,同时通过标准Solr机制提供索引并进行查询。由于数据和索引位于同一位置,因此数据处理不需要传输或单独管理的存储。

    通过MapReduce创建批索引 为了便于大数据集的索引创建,Cloudera Search内置了MapReduce作业,用于索引存储在HDFS或HBase中的数据。因此,MapReduce的线性可伸缩性应用于索引管道,从而减轻Solr索引服务资源的负担。
    数据摄取的实时和可伸缩索引

    Cloudera Search提供与Flume的集成以支持接近实时的索引。当新事件通过Flume层次结构并写入HDFS时,可以将这些事件直接写入Cloudera Search索引器。

    此外,Flume还支持路由事件,过滤和传递给CDH的数据注释。这些功能可与Cloudera Search一起使用,以改进索引分片,索引分隔和文档级访问控制。

    通过Hue轻松进行互动和数据探索 Cloudera搜索GUI作为Hue插件提供,使用户能够交互式查询数据,查看结果文件并进行分面探索。Hue还可以安排常规查询和探索索引文件。此GUI使用基于标准Solr API的Cloudera Search API。拖放仪表板界面使任何人都可以轻松创建搜索仪表板。
    简化了搜索工作负载的数据处理 Cloudera Search可以使用Apache Tika解析和准备许多用于索引的标准文件格式。此外,Cloudera Search支持Avro,Hadoop Sequence和Snappy文件格式映射,以及日志文件格式,JSON,XML和HTML。

    Cloudera Search还提供Morphlines,这是一个易于使用的预建库,包含常用数据预处理功能。Morphlines简化了多种文件格式索引的数据准备工作。用户可以轻松实现Flume,Kafka和HBase的Morphlines,或者将其他应用程序(如MapReduce或Spark作业)重复使用相同的Morphlines。

    HBase搜索 Cloudera Search与HBase集成,支持全文搜索HBase数据,而不会影响HBase性能或复制数据存储。监听器监控来自HBase RegionServers的复制事件流,并捕获每个写入或更新复制的事件,从而启用抽取和映射(例如,使用Morphlines)。然后将事件直接发送到Solr以便在HDFS中进行索引和存储,使用与Cloudera Search的其他索引工作负载相同的过程。这些索引可以立即提供,从而实现HBase数据的自由文本搜索。

    Cloudera搜索的工作原理

    在接近实时的索引用例中,例如日志或事件流分析,Cloudera Search索引通过Apache Flume,Apache Kafka,Spark Streaming或HBase流式传输的事件。字段和事件映射到标准Solr可索引架构。Lucene索引传入事件,并将索引写入并存储在HDFS中的标准Lucene索引文件中。在HDFS分区中的常规流量事件路由和数据存储也可以应用。事件可以通过多个Flume代理进行路由和流式传输,并写入单独的Lucene索引器中,这些索引器可以写入单独的索引碎片,以便在索引时实现更好的扩展并在搜索时更快地响应。

    索引从HDFS加载到Solr核心,就像Solr从本地磁盘读取一样。Cloudera Search设计的不同之处在于HDFS的健壮,分布式和可扩展的存储层,它有助于消除代价高昂的停机时间,并且在不移动数据的情况下实现跨工作负载的灵活性。搜索查询然后可以通过标准Solr API或通过包含在Cloudera Search中的简单搜索GUI应用程序(可以在Hue中部署)提交给Solr。

    Cloudera Search面向批处理的索引功能可以满足在批量上传文件或大数据集中进行搜索的需求,这些数据集的更新频率较低,而且不需要近实时索引。它还可以方便地用于重新索引(独立Solr中常见的难题)或用于按需数据探索的临时索引。通常,批量索引定期完成(小时,每日,每周等),作为较大工作流程的一部分。

    对于这种情况,Cloudera Search包含基于MapReduce或Spark的高度可扩展的索引工作流程。针对HDFS中的指定文件或文件夹或HBase中的表启动MapReduce或Spark工作流,并在映射阶段执行字段提取和Solr模式映射。Reducers使用嵌入式Lucene将数据作为单个索引或索引碎片写入,具体取决于您的配置和首选项。索引存储在HDFS中之后,可以使用标准的Solr机制来查询它们,如前面关于近实时索引用例所描述的那样。您还可以配置这些批量索引选项,以将新索引数据直接发布到由Solr提供的实时活动索引中。这GoLive 选项启用简化的数据管道,而不会中断服务以定期处理传入的批次更新。

    Lily HBase Indexer Service是一个灵活的,可扩展的,容错的,事务性的,接近实时的系统,用于处理连续的HBase单元更新到实时搜索索引。Lily HBase Indexer使用Solr来索引存储在HBase中的数据。随着HBase向HBase表格单元应用插入,更新和删除操作,索引器使用标准HBase复制功能使Solr与HBase表格内容保持一致。索引器支持灵活的自定义应用程序特定规则来提取,转换和加载HBase数据到Solr。Solr搜索结果可以包含的ColumnFamily:预选赛链接回存储在HBase中的数据。这样应用程序可以使用搜索结果集来直接访问匹配的原始HBase单元。索引和搜索不会影响HBase的操作稳定性或写入吞吐量,因为索引和搜索过程与HBase是分开的和异步的。

     

    了解Cloudera搜索

    Cloudera Search适合用于分析大型数据集中信息的更广泛的解决方案。CDH提供了存储数据和运行查询的手段和工具。你可以通过以下方式探索数

    • MapReduce或Spark作业
    • Impala查询
    • Cloudera搜索查询

    CDH通过使用MapReduce作业为大数据集提供存储和访问,但创建这些作业需要技术知识,每个作业可能需要几分钟或更长时间才能运行。与MapReduce作业相关的较长运行时间会中断探索数据的过程。

    为了提供更直接的查询和响应,并消除编写MapReduce应用程序的需要,可以使用Apache Impala。Impala以秒为单位返回结果,而不是分钟。

    虽然Impala是一个快速,功能强大的应用程序,但它使用基于SQL的查询语法。使用Impala对于不熟悉SQL的用户可能会遇到挑战。如果您不知道SQL,则可以使用Cloudera Search。尽管Impala,Apache Hive和Apache Pig都需要在查询时应用的结构,但搜索支持对已编制索引的任何数据或字段进行自由文本搜索。

    Cloudera搜索和其他Cloudera组件

    Cloudera搜索与其他Cloudera组件交互以解决不同的问题。下表列出了对搜索过程有贡献的Cloudera组件,并描述了它们如何与Cloudera Search进行交互:

    零件 贡献 适用于
    HDFS 存储源文件。搜索索引源文档以使其可搜索。支持Cloudera Search的文件(例如Lucene索引文件和预写日志)也存储在HDFS中。使用HDFS可在更大的基础上提供更简单的配置,冗余和容错功能。借助HDFS,Cloudera Search服务器本质上是无状态的,因此主机故障的后果极小。HDFS还提供快照,群集间复制和灾难恢复。 所有情况
    MapReduce 搜索包括一个预建的基于MapReduce的作业。此作业可用于HDFS中存储的任何受支持数据集的按需索引或计划索引。此作业使用群集资源进行可伸缩批量索引。 很多情况下
    Tlume Search包含一个Flume接收器,可以将事件直接写入群集中部署的索引器,从而允许在摄取期间进行数据索引。 很多情况下
    Hue Hue包含一个基于GUI的搜索应用程序,该应用程序使用标准Solr API并可与HDFS中索引的数据进行交互。该应用程序为Solr标准查询语言和分面搜索功能的可视化提供支持。 很多情况下
    Morphlines morphline是一个定义ETL转换链的丰富配置文件。Morphlines可以使用来自任何数据源的任何类型的数据,处理数据并将结果加载到Cloudera Search。Morphlines运行在一个小型的,可嵌入的Java运行时系统中,可用于近实时应用程序,如flume代理以及批处理应用程序,如Spark作业。 很多情况下
    Zookeeper 协调数据和元数据的分布,也称为碎片。它提供自动故障转移功能以提高服务弹性。 很多情况下
    Spark CrunchIndexerTool可以使用Spark将HDFS文件中的数据移动到Apache Solr中,并通过morphline运行数据以进行提取和转换。 一些案例
    HBase 支持索引存储的数据,提取列,列族和关键信息作为字段。尽管HBase不使用二级索引,但Cloudera Search可以促进HBase中行和表内容的全文搜索。 一些案例
    Cloudera Manager 部署,配置,管理和监控Cloudera Search进程和资源利用率,以跨群集服务。Cloudera Manager有助于简化Cloudera Search管理,但这不是必需的。 一些案例
    Cloudera Navigator Cloudera Navigator为Hadoop系统提供治理,包括支持审计搜索操作。 一些案例
    Sentry Sentry支持基于角色的Cloudera Search的精细授权。Sentry可以对各种操作应用一系列限制,例如访问数据,通过配置对象管理配置或创建集合。无论用户尝试完成操作的方式如何,都会始终应用限制。例如,限制对集合中数据的访问会限制访问权限,无论查询来自命令行,浏览器,Hue还是通过管理控制台。 一些案例
    Oozie 自动化索引作业的调度和管理。Oozie可以检查新数据并根据需要开始索引工作。 一些案例
    Impala 进一步分析搜索结果。 一些案例
    Hive 进一步分析搜索结果。 一些案例
    Parque 提供列式存储格式,为结构化工作负载(如Impala或Hive)提供特别快速的结果返回。Morphlines为从Parquet提取数据提供了一条高效的流水线。 一些案例
    Avro 包含Cloudera Search可用于建立索引的元数据。 一些案例
    Kafka 搜索使用此消息代理项目来增加吞吐量并减少处理实时数据的延迟。 一些案例
    Sqoop 批量采集数据并为批量索引启用数据可用性。 一些案例

     

    Cloudera搜索架构

    Cloudera Search作为一组服务器上的分布式服务运行,并且每个服务器负责一部分可搜索数据。数据被分割成小块,副本由这些块组成,并且这些块分布在服务器中。这提供了两个主要优点:

    • 分割内容成小块分配索引服务器之间的内容的任务。
    • 复制整个部分可以使查询更有效地缩放,并使系统能够提供更高级别的可用性。

     

     

    每个Cloudera Search服务器都可以独立处理请求。客户端可以发送请求索引文档或对任何搜索服务器执行搜索,并且该服务器将请求路由到正确的服务器。

    每个搜索部署都需要:

    • ZooKeeper至少在一台主机上运行。您可以在同一台主机上安装ZooKeeper,Search和HDFS。
    • 至少有一台HDFS,但与所有主机一样多。HDFS通常安装在所有群集主机上。
    • Solr至少有一台,但与所有主机一样多。Solr通常安装在所有群集主机上。

    使用Solr和HDFS的更多主机具有以下优点:

    • 更多搜索服务器处理请求。
    • 更多搜索和HDFS搭配增加了数据局部性的程度。更多的本地数据提供更快的性能并减少网络流量。

    下图显示了典型部署中的一些关键元素。

     

     

    该图形说明:

    1. 客户端通过HTTP提交查询。
    2. 该响应由NameNode接收,然后传递给DataNode。
    3. DataNode使用相关的分片在其他主机之间分发请求。
    4. 查询结果将被收集并返回给客户端。

    另请注意:

    • Cloudera Manager将客户端和服务器配置文件提供给部署中的其他服务器。
    • ZooKeeper服务器提供有关集群状态和运行Solr的其他主机的信息。

    客户必须发送信息才能完成工作:

    • 对于查询,客户端必须具有Solr服务器的主机名和要使用的端口。
    • 对于与集合相关的操作,例如添加或删除集合,集合的名称也是必需的。
    • 索引工作,如 MapReduceIndexer作业,使用启动MapReduce作业的MapReduce驱动程序。这些作业也可以处理变形线并将结果索引到Solr。

    4.Apache Kudu概述

    Apache Kudu是一个为Hadoop平台开发的列式存储管理器。Kudu分享Hadoop生态系统应用程序的通用技术特性:它运行在商品硬件上,可横向扩展,并支持高度可用的操作。

    Apache Kudu是Apache软件基金会的顶级项目。

    Kudu的好处包括:

    • 快速处理OLAP工作负载。
    • 与MapReduce,Spark,Flume和其他Hadoop生态系统组件集成。
    • 与Apache Impala紧密集成,使其成为在Apache Parquet中使用HDFS的良好可变替代方案。
    • 强大但灵活的一致性模型,允许您根据每个请求选择一致性要求,包括严格的序列化一致性选项。
    • 强大的性能可同时运行顺序和随机工作负载。
    • 通过Cloudera Manager轻松管理和管理。
    • 高可用性。平板电脑服务器和主服务器使用Raft一致性算法,只要有更多的副本可用,就可以确保可用性。只读的跟随者平板电脑即使在领先平板电脑故障的情况下也可以为其提供读取服务。
    • 结构化数据模型。

    通过结合所有这些属性,Kudu的目标是支持难以或不可能在当前可用的Hadoop存储技术上实现的应用程序。Kudu是一个可行的解决方案的应用包括:

    • 报告应将新数据立即提供给最终用户的应用程序
    • 时间序列应用程序必须支持跨大量历史数据的查询,同时返回有关单个实体的细粒度查询
    • 应用程序使用预测模型进行实时决策,并根据所有历史数据定期刷新预测模型
    展开全文
  • Cloudera实战入门

    2019-05-07 15:25:43
    课程是基于企业实际生产环境,涉及cloudera manager + CDH的搭建及使用、添加组件、配置、升级组件、企业中如何向已有集群横向扩展节点、根据监控指标去优化集群、集中化监控图表、使用shell编写实用工具及cloudera ...
  • Cloudera(CDH) 简介和在线安装

    千次阅读 2018-09-16 14:49:32
    转自:... Cloudera 简介   Cloudera 官网:https://www.cloudera.com Cloudera 官方文档: https://www.cloudera.com/documentation/enterprise/latest.html CDH是Ap...

    转自:https://blog.csdn.net/Kim_Weir/article/details/79934308

    Cloudera 简介

     

    CDH是Apache Hadoop和相关项目的最完整,经过测试的流行发行版。 CDH提供了Hadoop的核心元素 - 可扩展的存储和分布式计算 - 以及基于Web的用户界面和重要的企业功能。 CDH是Apache许可的开放源码,是唯一提供统一批处理,交互式SQL和交互式搜索以及基于角色的访问控制的Hadoop解决方案。

    Cloudera作为一个强大的商业版数据中心管理工具,提供了各种能够快速稳定运行的数据计算框架,如Apache Spark;使用Apache Impala做为对HDFS,HBase的高性能SQL查询引擎;也带了Hive数据仓库工具帮助用户分析数据; 用户也能用Cloudera管理安装HBase分布式列式NoSQL数据库;Cloudera还包含了原生的Hadoop搜索引擎以及Cloudera Navigator Optimizer去对Hadoop上的计算任务进行一个可视化的协调优化,提高运行效率;同时Cloudera中提供的各种组件能让用户在一个可视化的UI界面中方便地管理,配置和监控Hadoop以及其它所有相关组件,并有一定的容错容灾处理;Cloudera作为一个广泛使用的商业版数据中心管理工具更是对数据的安全决不妥协!

    CDH 提供:

    • 灵活性 - 存储任何类型的数据,并使用各种不同的计算框架进行处理,包括批处理,交互式SQL,自由文本搜索,机器学习和统计计算。
    • 集成 - 在一个可与广泛的硬件和软件解决方案配合使用的完整Hadoop平台上快速启动并运行。
    • 安全 - 过程和控制敏感数据。
    • 可扩展性 - 启用广泛的应用程序并进行扩展和扩展,以满足您的需求。
    • 高可用性 - 充满信心地执行关键业务任务。
    • 兼容性 - 利用您现有的IT基础设施和资源。

    这里写图片描述

    上述描述来自:https://www.cloudera.com/documentation/enterprise/latest/topics/cdh_intro.html

     

    1.CDH中的Apache Hive概述

    Hive数据仓库软件支持在分布式存储中读取,编写和管理大型数据集。使用与SQL非常相似的Hive查询语言(HiveQL),查询被转换为一系列作业通过MapReduce或Apache Spark在Hadoop集群上执行。

    用户可以使用Hive运行批处理工作负载,同时还可以在单​​个平台内使用Apache Impala或Apache Spark等工具分析交互式SQL或机器学习工作负载的相同数据。

    作为CDH的一部分,Hive还受益于:

    • 统一资源管理由YARN提供
    • Cloudera Manager提供简化的部署和管理
    • 共享安全和治理,以满足Apache Sentry和Cloudera Navigator提供的合规要求

    Hive的用例

    由于Hive是一个基于Hadoop平台构建的PB级数据仓库系统,因此对于数据量急剧增长的环境而言,它是一个不错的选择。HDFS底层MapReduce接口很难直接编程,但Hive提供了一个SQL接口,可以使用现有的编程技巧来执行数据准备。

    Hive MapReduce或Spark最适合批量数据准备或ETL:

    • 必须运行具有非常大的ETL排序并使用连接的计划批处理作业来为Hadoop准备数据。向Impala中BI用户提供的大部分数据由ETL开发人员使用Hive编写。

    • 可以运行花费数小时的数据传输或转换作业。通过Hive,如果通过这样的工作发生问题,它会恢复并继续。

    • 可以接收或提供不同格式的数据,其中Hive SerDes和各种UDF可以方便地获取和转换数据。通常,Hive的ETL过程的最后阶段可能是高性能,广泛支持的格式,例如Parquet。

    Hive组件

    Hive由以下组件组成:

    Metastore数据库

     

    Metastore数据库是Hive基础架构的一个重要方面。它是一个独立的数据库,依赖于传统的RDBMS,例如MySQL或PostgreSQL,它保存有关Hive数据库,表,列,分区和Hadoop特定信息(例如底层数据文件和HDFS块位置)的元数据。

    Metastore数据库由其他组件共享。例如,Hive和Impala都可以插入,查询,更改等相同的表。尽管您可能会看到对“Hive metastore”的引用,但请注意,即使在您未使用Hive本身的情况下,Metastore数据库也会广泛用于Hadoop生态系统。

    Metastore数据库相对紧凑,数据快速变化。备份,复制和其他类型的管理操作会影响此数据库。

    HiveServer2

    HiveServer2是一个服务器接口,它使远程客户端能够向Hive提交查询并检索结果。它取代了HiveServer1(它已被弃用,并将在未来的CDH版本中被删除)。HiveServer2支持多客户端并发,容量规划控制,Sentry授权,Kerberos身份验证,LDAP和SSL,并为JDBC和ODBC客户端提供更好的支持。

    HiveServer2是Hive执行引擎的容器。对于每个客户端连接,它会创建一个新的执行上下文,用于向客户端提供Hive SQL请求。它支持JDBC客户端,例如Beeline CLI和ODBC客户端。客户端通过基于Thrift API的Hive服务连接到HiveServer2。

    2.Apache Impala概述

    Impala 能够直接对Apache Hadoop平台中存储在HDFS,HBase 的数据提供快速的交互式SQL查询。除了使用相同的统一存储平台之外,Impala还使用与Apache Hive相同的元数据,SQL语法(Hive SQL),ODBC驱动程序和用户界面(Hue中的Impala查询UI)。这为实时或面向批处理的查询提供了一个熟悉且统一的平台。

    Impala是对可用于查询大数据的工具的补充。Impala不会取代基于MapReduce(如Hive)的批处理框架。基于MapReduce构建的Hive和其他框架最适合长时间运行的批处理作业,例如涉及批处理提取,转换和加载(ETL)类型作业的批处理作业。

    Impala的好处

    Impala提供:

    • 数据科学家和分析师已经知道的熟悉的SQL接口。
    • 能够在Apache Hadoop中查询大量数据(“大数据”)。
    • 集群环境中的分布式查询,便于扩展并使用经济高效的硬件。
    • 无需复制或导出/导入步骤即可在不同组件之间共享数据文件; 例如,使用Pig编写代码,使用Hive进行转换并使用Impala进行查询。Impala可以读取和写入Hive表格,使用Impala进行简单的数据交换,以便对Hive生成的数据进行分析。
    • 用于大数据处理和分析的单一系统,因此客户可以避免昂贵的建模和ETL仅用于分析。

    Impala如何与CDH配合使用

    下图说明了Impala如何在更广泛的Cloudera环境中定位:

    显示Impala如何与其他Hadoop组件(如HDFS,Hive Metastore数据库以及客户端程序(如JDBC和ODBC应用程序)以及Hue Web UI)相关联的体系结构图。

     

    Impala解决方案由以下组件组成:

    • 客户端 - 包括Hue,ODBC客户端,JDBC客户端和Impala Shell在内的实体都可以与Impala进行交互。这些接口通常用于发出查询或完成管理任务,例如连接到Impala。
    • Hive Metastore - 存储有关Impala可用数据的信息。例如,Metastore让Impala知道哪些数据库可用,以及这些数据库的结构如何。在创建,删除和更改模式对象,通过Impala SQL语句将数据加载到表等中时,相关的元数据更改将通过Impala 1.2中引入的专用目录服务自动广播到所有Impala节点。
    • Impala - 这个在DataNode上运行的进程,协调和执行查询。Impala的每个实例都可以接收,计划和协调来自Impala客户端的查询。查询分布在Impala节点中,然后这些节点充当工作人员,执行并行查询片段。
    • HBase和HDFS - 存储要查询的数据。

    使用Impala执行的查询处理如下:

    1. 用户应用程序通过ODBC或JDBC向Impala发送SQL查询,这些查询提供标准化的查询接口。用户应用程序可能连接到任何impalad在集群中。这个impalad 成为查询的协调者。
    2. Impala解析查询并分析它以确定需要执行的任务 impalad整个群集中的实例。计划执行是为了获得最佳效率。
    3. 诸如HDFS和HBase等服务可以通过本地访问 impalad 实例提供数据。
    4. 每 impalad 将数据返回给协调 impalad,它将这些结果发送给客户端。

    主要Impala功能

    Impala为以下方面提供支持:

    • Hive Query Language(HiveQL)的大多数常见SQL功能。
    • HDFS,HBase,其中包括:
      • HDFS文件:分隔文本文件,Parquet,Avro,SequenceFile和RCFile。
      • 压缩编解码器:Snappy,GZIP,Deflate,BZIP。
    • 常见的数据访问接口包括:
      • JDBC驱动程序
      • ODBC驱动程序
      • Hue Beeswax和Impala查询UI。
    • impla-shell命令行界面
    • Kerberos身份验证

    3. Cloudera Search概述

     

    Cloudera Search提供简单,自然的语言访问存储或存入Hadoop,HBase或云存储的数据。最终用户和其他Web服务可以使用全文查询和下钻来分析文本,半结构化和结构化数据,以及快速筛选和聚合它,以获取业务洞察力,而无需SQL或编程技能。

    Cloudera Search是Apache Solr完全集成在Cloudera平台中的产品,充分利用了CDH中包含的灵活,可扩展且强大的存储系统和数据处理框架。这消除了跨基础架构移动大型数据集以执行业务任务的需要。它进一步实现了简化的数据管道,其中搜索和文本匹配是较大工作流程的一部分。

    Cloudera Search合并了Apache Solr,其中包括Apache Lucene,SolrCloud,Apache Tika和Solr Cell。Cloudera Search包含在CDH 5及更高版本中。

    在CDH基础架构中使用Cloudera Search提供:

    • 简化基础设施
    • 更好的生产可视性和控制
    • 对各种数据类型有更快速的见解
    • 更快的问题解决方案
    • 为更多用户和SQL以外的用例简化交互和平台访问
    • 用于在相同数据上运行其他类型工作负载的同一平台上的搜索服务的可伸缩性,灵活性和可靠性
    • 跨所有进程访问数据的统一安全模型
    • 摄取和预处理选项的灵活性和规模

    下表介绍了Cloudera搜索功能。

    Cloudera搜索功能
    特征 描述
    使用Cloudera Manager进行统一管理和监控 Cloudera Manager为CDH和Cloudera Search提供统一和集中的管理和监控。Cloudera Manager简化了搜索服务的部署,配置和监控。许多现有的搜索解决方案缺乏管理和监控能力,并且无法深入了解利用率,系统健康状况,趋势和其他可支持性方面。
    索引存储在HDFS中

    Cloudera Search与HDFS集成在一起,实现了健壮,可扩展且自我修复的索引存储。由Solr / Lucene创建的索引直接使用数据写入HDFS,而不是本地磁盘,从而提供容错和冗余。

    Cloudera Search经过优化,可在HDFS中快速读取和写入索引,同时通过标准Solr机制提供索引并进行查询。由于数据和索引位于同一位置,因此数据处理不需要传输或单独管理的存储。

    通过MapReduce创建批索引 为了便于大数据集的索引创建,Cloudera Search内置了MapReduce作业,用于索引存储在HDFS或HBase中的数据。因此,MapReduce的线性可伸缩性应用于索引管道,从而减轻Solr索引服务资源的负担。
    数据摄取的实时和可伸缩索引

    Cloudera Search提供与Flume的集成以支持接近实时的索引。当新事件通过Flume层次结构并写入HDFS时,可以将这些事件直接写入Cloudera Search索引器。

    此外,Flume还支持路由事件,过滤和传递给CDH的数据注释。这些功能可与Cloudera Search一起使用,以改进索引分片,索引分隔和文档级访问控制。

    通过Hue轻松进行互动和数据探索 Cloudera搜索GUI作为Hue插件提供,使用户能够交互式查询数据,查看结果文件并进行分面探索。Hue还可以安排常规查询和探索索引文件。此GUI使用基于标准Solr API的Cloudera Search API。拖放仪表板界面使任何人都可以轻松创建搜索仪表板。
    简化了搜索工作负载的数据处理 Cloudera Search可以使用Apache Tika解析和准备许多用于索引的标准文件格式。此外,Cloudera Search支持Avro,Hadoop Sequence和Snappy文件格式映射,以及日志文件格式,JSON,XML和HTML。

    Cloudera Search还提供Morphlines,这是一个易于使用的预建库,包含常用数据预处理功能。Morphlines简化了多种文件格式索引的数据准备工作。用户可以轻松实现Flume,Kafka和HBase的Morphlines,或者将其他应用程序(如MapReduce或Spark作业)重复使用相同的Morphlines。

    HBase搜索 Cloudera Search与HBase集成,支持全文搜索HBase数据,而不会影响HBase性能或复制数据存储。监听器监控来自HBase RegionServers的复制事件流,并捕获每个写入或更新复制的事件,从而启用抽取和映射(例如,使用Morphlines)。然后将事件直接发送到Solr以便在HDFS中进行索引和存储,使用与Cloudera Search的其他索引工作负载相同的过程。这些索引可以立即提供,从而实现HBase数据的自由文本搜索。

    Cloudera搜索的工作原理

    在接近实时的索引用例中,例如日志或事件流分析,Cloudera Search索引通过Apache Flume,Apache Kafka,Spark Streaming或HBase流式传输的事件。字段和事件映射到标准Solr可索引架构。Lucene索引传入事件,并将索引写入并存储在HDFS中的标准Lucene索引文件中。在HDFS分区中的常规流量事件路由和数据存储也可以应用。事件可以通过多个Flume代理进行路由和流式传输,并写入单独的Lucene索引器中,这些索引器可以写入单独的索引碎片,以便在索引时实现更好的扩展并在搜索时更快地响应。

    索引从HDFS加载到Solr核心,就像Solr从本地磁盘读取一样。Cloudera Search设计的不同之处在于HDFS的健壮,分布式和可扩展的存储层,它有助于消除代价高昂的停机时间,并且在不移动数据的情况下实现跨工作负载的灵活性。搜索查询然后可以通过标准Solr API或通过包含在Cloudera Search中的简单搜索GUI应用程序(可以在Hue中部署)提交给Solr。

    Cloudera Search面向批处理的索引功能可以满足在批量上传文件或大数据集中进行搜索的需求,这些数据集的更新频率较低,而且不需要近实时索引。它还可以方便地用于重新索引(独立Solr中常见的难题)或用于按需数据探索的临时索引。通常,批量索引定期完成(小时,每日,每周等),作为较大工作流程的一部分。

    对于这种情况,Cloudera Search包含基于MapReduce或Spark的高度可扩展的索引工作流程。针对HDFS中的指定文件或文件夹或HBase中的表启动MapReduce或Spark工作流,并在映射阶段执行字段提取和Solr模式映射。Reducers使用嵌入式Lucene将数据作为单个索引或索引碎片写入,具体取决于您的配置和首选项。索引存储在HDFS中之后,可以使用标准的Solr机制来查询它们,如前面关于近实时索引用例所描述的那样。您还可以配置这些批量索引选项,以将新索引数据直接发布到由Solr提供的实时活动索引中。这GoLive 选项启用简化的数据管道,而不会中断服务以定期处理传入的批次更新。

    Lily HBase Indexer Service是一个灵活的,可扩展的,容错的,事务性的,接近实时的系统,用于处理连续的HBase单元更新到实时搜索索引。Lily HBase Indexer使用Solr来索引存储在HBase中的数据。随着HBase向HBase表格单元应用插入,更新和删除操作,索引器使用标准HBase复制功能使Solr与HBase表格内容保持一致。索引器支持灵活的自定义应用程序特定规则来提取,转换和加载HBase数据到Solr。Solr搜索结果可以包含的ColumnFamily:预选赛链接回存储在HBase中的数据。这样应用程序可以使用搜索结果集来直接访问匹配的原始HBase单元。索引和搜索不会影响HBase的操作稳定性或写入吞吐量,因为索引和搜索过程与HBase是分开的和异步的。

     

    了解Cloudera搜索

    Cloudera Search适合用于分析大型数据集中信息的更广泛的解决方案。CDH提供了存储数据和运行查询的手段和工具。你可以通过以下方式探索数

    • MapReduce或Spark作业
    • Impala查询
    • Cloudera搜索查询

    CDH通过使用MapReduce作业为大数据集提供存储和访问,但创建这些作业需要技术知识,每个作业可能需要几分钟或更长时间才能运行。与MapReduce作业相关的较长运行时间会中断探索数据的过程。

    为了提供更直接的查询和响应,并消除编写MapReduce应用程序的需要,可以使用Apache Impala。Impala以秒为单位返回结果,而不是分钟。

    虽然Impala是一个快速,功能强大的应用程序,但它使用基于SQL的查询语法。使用Impala对于不熟悉SQL的用户可能会遇到挑战。如果您不知道SQL,则可以使用Cloudera Search。尽管Impala,Apache Hive和Apache Pig都需要在查询时应用的结构,但搜索支持对已编制索引的任何数据或字段进行自由文本搜索。

    Cloudera搜索和其他Cloudera组件

    Cloudera搜索与其他Cloudera组件交互以解决不同的问题。下表列出了对搜索过程有贡献的Cloudera组件,并描述了它们如何与Cloudera Search进行交互:

    零件 贡献 适用于
    HDFS 存储源文件。搜索索引源文档以使其可搜索。支持Cloudera Search的文件(例如Lucene索引文件和预写日志)也存储在HDFS中。使用HDFS可在更大的基础上提供更简单的配置,冗余和容错功能。借助HDFS,Cloudera Search服务器本质上是无状态的,因此主机故障的后果极小。HDFS还提供快照,群集间复制和灾难恢复。 所有情况
    MapReduce 搜索包括一个预建的基于MapReduce的作业。此作业可用于HDFS中存储的任何受支持数据集的按需索引或计划索引。此作业使用群集资源进行可伸缩批量索引。 很多情况下
    Tlume Search包含一个Flume接收器,可以将事件直接写入群集中部署的索引器,从而允许在摄取期间进行数据索引。 很多情况下
    Hue Hue包含一个基于GUI的搜索应用程序,该应用程序使用标准Solr API并可与HDFS中索引的数据进行交互。该应用程序为Solr标准查询语言和分面搜索功能的可视化提供支持。 很多情况下
    Morphlines morphline是一个定义ETL转换链的丰富配置文件。Morphlines可以使用来自任何数据源的任何类型的数据,处理数据并将结果加载到Cloudera Search。Morphlines运行在一个小型的,可嵌入的Java运行时系统中,可用于近实时应用程序,如flume代理以及批处理应用程序,如Spark作业。 很多情况下
    Zookeeper 协调数据和元数据的分布,也称为碎片。它提供自动故障转移功能以提高服务弹性。 很多情况下
    Spark CrunchIndexerTool可以使用Spark将HDFS文件中的数据移动到Apache Solr中,并通过morphline运行数据以进行提取和转换。 一些案例
    HBase 支持索引存储的数据,提取列,列族和关键信息作为字段。尽管HBase不使用二级索引,但Cloudera Search可以促进HBase中行和表内容的全文搜索。 一些案例
    Cloudera Manager 部署,配置,管理和监控Cloudera Search进程和资源利用率,以跨群集服务。Cloudera Manager有助于简化Cloudera Search管理,但这不是必需的。 一些案例
    Cloudera Navigator Cloudera Navigator为Hadoop系统提供治理,包括支持审计搜索操作。 一些案例
    Sentry Sentry支持基于角色的Cloudera Search的精细授权。Sentry可以对各种操作应用一系列限制,例如访问数据,通过配置对象管理配置或创建集合。无论用户尝试完成操作的方式如何,都会始终应用限制。例如,限制对集合中数据的访问会限制访问权限,无论查询来自命令行,浏览器,Hue还是通过管理控制台。 一些案例
    Oozie 自动化索引作业的调度和管理。Oozie可以检查新数据并根据需要开始索引工作。 一些案例
    Impala 进一步分析搜索结果。 一些案例
    Hive 进一步分析搜索结果。 一些案例
    Parque 提供列式存储格式,为结构化工作负载(如Impala或Hive)提供特别快速的结果返回。Morphlines为从Parquet提取数据提供了一条高效的流水线。 一些案例
    Avro 包含Cloudera Search可用于建立索引的元数据。 一些案例
    Kafka 搜索使用此消息代理项目来增加吞吐量并减少处理实时数据的延迟。 一些案例
    Sqoop 批量采集数据并为批量索引启用数据可用性。 一些案例

     

    Cloudera搜索架构

    Cloudera Search作为一组服务器上的分布式服务运行,并且每个服务器负责一部分可搜索数据。数据被分割成小块,副本由这些块组成,并且这些块分布在服务器中。这提供了两个主要优点:

    • 分割内容成小块分配索引服务器之间的内容的任务。
    • 复制整个部分可以使查询更有效地缩放,并使系统能够提供更高级别的可用性。

     

     

    每个Cloudera Search服务器都可以独立处理请求。客户端可以发送请求索引文档或对任何搜索服务器执行搜索,并且该服务器将请求路由到正确的服务器。

    每个搜索部署都需要:

    • ZooKeeper至少在一台主机上运行。您可以在同一台主机上安装ZooKeeper,Search和HDFS。
    • 至少有一台HDFS,但与所有主机一样多。HDFS通常安装在所有群集主机上。
    • Solr至少有一台,但与所有主机一样多。Solr通常安装在所有群集主机上。

    使用Solr和HDFS的更多主机具有以下优点:

    • 更多搜索服务器处理请求。
    • 更多搜索和HDFS搭配增加了数据局部性的程度。更多的本地数据提供更快的性能并减少网络流量。

    下图显示了典型部署中的一些关键元素。

     

     

    该图形说明:

    1. 客户端通过HTTP提交查询。
    2. 该响应由NameNode接收,然后传递给DataNode。
    3. DataNode使用相关的分片在其他主机之间分发请求。
    4. 查询结果将被收集并返回给客户端。

    另请注意:

    • Cloudera Manager将客户端和服务器配置文件提供给部署中的其他服务器。
    • ZooKeeper服务器提供有关集群状态和运行Solr的其他主机的信息。

    客户必须发送信息才能完成工作:

    • 对于查询,客户端必须具有Solr服务器的主机名和要使用的端口。
    • 对于与集合相关的操作,例如添加或删除集合,集合的名称也是必需的。
    • 索引工作,如 MapReduceIndexer作业,使用启动MapReduce作业的MapReduce驱动程序。这些作业也可以处理变形线并将结果索引到Solr。

    4.Apache Kudu概述

    Apache Kudu是一个为Hadoop平台开发的列式存储管理器。Kudu分享Hadoop生态系统应用程序的通用技术特性:它运行在商品硬件上,可横向扩展,并支持高度可用的操作。

    Apache Kudu是Apache软件基金会的顶级项目。

    Kudu的好处包括:

    • 快速处理OLAP工作负载。
    • 与MapReduce,Spark,Flume和其他Hadoop生态系统组件集成。
    • 与Apache Impala紧密集成,使其成为在Apache Parquet中使用HDFS的良好可变替代方案。
    • 强大但灵活的一致性模型,允许您根据每个请求选择一致性要求,包括严格的序列化一致性选项。
    • 强大的性能可同时运行顺序和随机工作负载。
    • 通过Cloudera Manager轻松管理和管理。
    • 高可用性。平板电脑服务器和主服务器使用Raft一致性算法,只要有更多的副本可用,就可以确保可用性。只读的跟随者平板电脑即使在领先平板电脑故障的情况下也可以为其提供读取服务。
    • 结构化数据模型。

    通过结合所有这些属性,Kudu的目标是支持难以或不可能在当前可用的Hadoop存储技术上实现的应用程序。Kudu是一个可行的解决方案的应用包括:

    • 报告应将新数据立即提供给最终用户的应用程序
    • 时间序列应用程序必须支持跨大量历史数据的查询,同时返回有关单个实体的细粒度查询
    • 应用程序使用预测模型进行实时决策,并根据所有历史数据定期刷新预测模型
    展开全文
  • Cloudera简介和安装部署概述

    万次阅读 多人点赞 2016-09-06 16:13:04
    最近作者在研究Cloudera,并且在自己的虚拟机集群安装部署成功,所以在此做个分享,帮助大家尽快构建自己的Cloudera环境并运用起来。文章将会对Cloudera以及其安装时涉及到的组件做一个简单的介绍,并把官方文档中...

    最近作者在研究Cloudera,并且在自己的虚拟机集群安装部署成功,所以在此做个分享,帮助大家尽快构建自己的Cloudera环境并运用起来。文章将会对Cloudera以及其安装时涉及到的组件做一个简单的介绍,并把官方文档中介绍的3种安装部署方式做一个概要的说明。

    Cloudera简介

    为了构建一个以数据为驱动的业务场景,我们需要一个强大的管理工具去统一并安全地管理我们的业务数据,所以Cloudera做为一个强大的数据中心管理工具为此孕育而生。Cloudera不光提供了自己衍化重新封装的市场领先并100%开源的商业化Apache Hadoop发行版本(CDH, Cloudera’s Distribution including Apache Hadoop)和相关的组件,其中包括了各类安全高效的企业级数据管理工具,如Hive, HBase,Oozie, Zookeeper等。 Hadoop是Apache(开源web服务器软件基金会)下的大数据开源项目,许多商业公司会在Apache Hadoop的基础上重新开发成商业版本,Cloudera公司就是其中之一,最近在维护的两个Hadoop版本分别是CDH4和CDH5。Hadoop使用分布式的思想存储,计算和分析数据,它允许多个数据分析计算任务同时作用在同一个数据块上并在集群上进行分布式计算,以此来进行超大规模数据的处理。Hadoop是大数据处理框架的鼻祖之一,同时Cloudera公司的Hadoop版本CDH也是目前使用最广泛的Hadoop商业版本。从广泛意义来说,CDH是Cloudera发布的一个自己封装的商业版软件发行包,里面不仅包含了Cloudera的商业版Hadoop,同时CDH中也包含了各类常用的开源数据处理存储框架,如Spark,Hive,HBase等。

    Cloudera作为一个强大的商业版数据中心管理工具,提供了各种能够快速稳定运行的数据计算框架,如Apache Spark;使用Apache Impala做为对HDFS,HBase的高性能SQL查询引擎;也带了Hive数据仓库工具帮助用户分析数据; 用户也能用Cloudera管理安装HBase分布式列式NoSQL数据库;Cloudera还包含了原生的Hadoop搜索引擎以及Cloudera Navigator Optimizer去对Hadoop上的计算任务进行一个可视化的协调优化,提高运行效率;同时Cloudera中提供的各种组件能让用户在一个可视化的UI界面中方便地管理,配置和监控Hadoop以及其它所有相关组件,并有一定的容错容灾处理;Cloudera作为一个广泛使用的商业版数据中心管理工具更是对数据的安全决不妥协!

    Cloudera主要发布了3个类型的产品。
    这里写图片描述

    QuickStarts产品是提供了不同的虚拟机镜像安装文件,里面已经提前安装和设置好了所有的Cloudera环境和相关组件,包括CDH,Cloudera Manager,Cloudera Impala,Cloudera Search等。其中对于集群版本选择QuickStart Docker,而单节点版本选择QuickStart VM;这些已经预装好所有组件以及环境的虚拟机镜像文件能帮助用户快速地测试和学习Cloudera。
    这里写图片描述

    Cloudera Manager产品则是着重于帮助大家管理自己的CDH集群,通过Cloudera Manager统一的UI界面来快速地自动配置和部署CDH和其相关组件,同时Cloudera Manager还提供了各种丰富的可自定义化的监视诊断和报告功能,集群上统一的日志管理功能,统一的集群配置管理和实时配置变更功能,多租户功能,高可用容灾部署功能和自动恢复功能等, 方便企业统一管理和维护自己的数据中心。Cloudera Manager产品也是我们主要的安装内容和介绍对象。它细分为免费的Express版本和功能完全并提供众多增值服务的收费版本Enterprise。QuickStarts和Cloudera Manager都属于是Cloudera Enterprise产品,

    Cloudera Director是Cloudera Enterprise 5.2 发布时推出的第三个Cloudera产品,它的主要作用就是提供一个统一的管理和监视中心方便用户能在云服务提供商的服务器上部署CDH和其相关组件,并维护它们。目前Cloudera Director支持的云服务提供商包括亚马逊的AWS,微软的Azure, 谷歌的Google Cloud Platform等。至于对国内阿里云的支持程度作者暂时还没有进行了解。
    这里写图片描述

    图片来自:http://blog.cloudera.com/blog/2014/10/inside-cloudera-director/

    Cloudera Manager的安装

    Cloudera Manager可以说是Cloudera系列产品和组件的核心,它负责统一配置管理CDH集群,基本上本篇文章都是围绕CM的安装部署来展开的,然后再通过CM去安装CDH及其其它相关组件。
    这里写图片描述

    图片来自:http://www.cloudera.com/documentation/enterprise/latest/topics/cm_intro_primer.html#concept_wfj_tny_jk

    由上面的结构图可知,Cloudera Manager的核心是Cloudera Manager Server。CM Server集成了Admin Console Web Server,提供了统一的UI和API方便用户和集群上的CDH以及其它服务进行交互,并实施监控和诊断等;CM Server还负责安装配置CDH和其相关的服务软件,启动停止服务,维护集群中各个节点服务器以及上面运行的进程。

    CM Server主要由下面几个组件组成:
    - Cloudera Manager Agent,安装在集群的所有节点上,负责启动和杀死各个CM管理的服务进程,解压和安装CM管理的服务,自动配置,通过心跳机制监视集群服务器状态(默认每15秒Agent发送心跳给CM Server)等。
    - Management Service,主要是负责集群中各种服务的监视,通知,报告等功能。
    - Database,内置数据库或者使用用户自定义的外部数据库保存CM的配置信息和监控信息。
    - Cloudera Repository
    - Clients,web-based的UI界面方便用户和CM Server进行交互,同时还提供了API供用户自定义Cloudera Manager程序。

    本文中介绍的安装方式主要建立在CentOS6.X操作系统上。
    CM的部署主要是安装以下几个组件:
    - Oracle的Open JDK
    - Cloudera Manager Server 和 Agent
    - 数据库
    - CDH和要使用的各个组件

    Cloudera官方提供了3种主要的安装方式,大家可以根据自己的实际情况选择合适的方式。

    PATH A - 使用Cloudera Manager Installer安装CM,然后再通过CM自动部署Oracle JDK,Embedded PostgreSQL,Cloudera Manager Agent,CDH和相关组件

    PATH A的安装只适合用作对Cloudera快速的学习和测试,并不适用于实际生产环境的部署,因为它并不适合集群的横向扩容并且集群增长的时候还可能需要做数据迁移。

    集群服务器准备

    准备至少3台CentOS6.X的服务器,因为Zookeeper要求至少3台以上奇数的服务器才能启动。接着配置3台服务器之间的SSH免密登录,因为HDFS服务器之前的通信和服务的启动都是通过SSH的方式来进行。SSH免密登录的简单配置可以通过以下的方式:

    #安装ssh-client
    $yum install ssh-client
    
    #在要进行免密登录的客户机上运行下面的命令,有提示时全部按回车就可以
    $ssh-keygen 
    
    #这里的IP地址输入的是要远程免密登录的服务器IP地址
    $ssh-copy-id  192.168.1.12 

    集群中每个服务器都需要关闭防火墙

    $service iptables stop

    关闭SELinux文件访问控制系统,修改/etc/selinux/config 配置文件中的”SELINUX=enforcing”为”SELINUX=disabled” 并重启操作系统。

    数据库的安装

    Cloudera Manager需要外部的数据库存储一些元数据信息,配置信息,系统和任务的运行信息等。在PATH A的方式下,Cloudera Manager Installer会自动安装内置的PostgreSQL数据库。当然用户也可以安装其它的数据库并配置成当前CM使用的数据库。

    单用户模式配置

    如果生产环境中的集群服务器不支持使用root用户,CM5.3以后推出了Single User Mode,可以让CM使用用户自定义的系统用户和用户组。本文中就不做详细介绍,默认使用root用户。

    Python环境安装

    CM需要运行在Python环境下,在CentOS6.X版本中,需要安装Python2.6来启动Cloudera Manager。Python环境的安装在CentOS系统中可以通过以下命令来进行安装
    $yum install python26
    不过建议安装之前检查自己的系统,因为默认CentOS中已经预装好Python环境了。

    yum源的配置

    在PATH A的安装方式下,主要使用yum去安装各个组件和依赖包,所以要保证网络的畅通以及能接入archive.cloudera.com地址。如果系统中自带的默认的yum源无法解析,大家可以去下载一份阿里云源。

    #备份系统默认的yum源
    $mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
    
    #下载并将yum源替换成阿里云
    $wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
    安装Oracle JDK

    集群上所有的机器都需要安装JDK环境,默认Cloudera Manager Installer和Cloudera Manager都会自动在所有节点安装JDK环境,当然用户也可以选择自己手动配置JDK环境,这里我就不赘述了。

    下载和安装Cloudera Manager Installer

    用户可以进入Cloudera Manager产品页面,选择想要安装的Cloudera Manager版本并在页面中sign in和同意相应的协议后就能看到下载Cloudera Manager Installer的链接,并通过它去安装Cloudera Manager Server。同时我们可以看到Cloudera Manager Installer实际上就是一个*.bin文件,*.bin文件就是把*.sh文件和rpm安装包或者*.sh文件和zip包等封装成bin。当运行bin文件的时候就是使用*.sh脚本把zip解压,或者安装rpm包,或者使用yum安装软件的过程。

    #去到你想要安装Cloudera Manager Server的目录中,并下载CM Installer
    $wget https://archive.cloudera.com/cm5/installer/latest/cloudera-manager-installer.bin
    
    #给bin文件执行权限
    $ chmod u+x cloudera-manager-installer.bin
    
    #执行bin文件从网络上安装Cloudera Manager Server
    $ sudo ./cloudera-manager-installer.bin

    Cloudera Manager Installer开始执行后将会顺序完成以下几个任务
    - 安装Oracle JDK和Cloudera Manager repository文件
    - 安装Cloudera Manager Server 和 内置的PostgreSQL数据库
    - 运行Cloudera Manager Server 和 内置的PostgreSQL数据库

    在使用CM Installer安装的过程中需要下载Cloudera Manager Daemons的rpm安装包,必须先安装了CM Daemons才能运行CM Server,大概有500多M,会经常中断下不下来,建议大家可以在一个稳定的网络环境下先下下来,然后手动安装。

    $yum localinstall –-nogpgcheck  cloudera-manager-daemons-5.8.1-1.cm581.p0.7.el6.x86_64.rpm.rpm

    Cloudera Manager Daemons的安装包地址:http://archive.cloudera.com/cm5/redhat/6/x86_64/cm/5/RPMS/x86_64/cloudera-manager-daemons-5.8.1-1.cm581.p0.7.el6.x86_64.rpm

    整个Installer安装过程的日志在:/var/log/cloudera-manager-installer/ 目录下可以找到

    登录Cloudera Manager Admin Console

    当Cloudera Manager Installer安装配置完Cloudera Manager Server,以及CM Server所使用的内置数据库后,Installer会启动cloudera-scm-server服务。这时就可以通过http://localhost:7180 登录CM网页版的管理中心,默认用户名和密码都是admin,接着就可以通过CM管理中心自动安装配置CDH和相关服务。

    使用CM自动安装CDH和相关组件

    登录进去Admin Console后,在UI界面选择CDH安装方式的页面,只能选择使用Parcels或者Packages其中一种方式进行安装,如果之前已经手动安装了CDH以及其它组件的Packages,那么就无法使用parcel的方式进行安装。parcel是一个序列化后的二进制打包文件,附带着编程文件和一些元数据文件,是官方推荐使用的CDH安装方式之一。
    可以指定从本地的parcel repository中安装或者远程连接parcel URL进行安装。这里作者选择使用本地的parcel repository进行安装。先从https://archive.cloudera.com/cdh5/parcels/5/中下载CDH的parcel包,主要是下载CDH-5.8.0-1.cdh5.8.0.p0.42-el6.parcel,CDH-5.8.0-1.cdh5.8.0.p0.42-el6.parcel.sha1,manifest.json这3个文件,然后把这些文件放入CM Server节点默认的parcel路径中/opt/cloudera/parcel-repo,最后在Admin Console中选择parcel安装的方式。

    后续只要根据Admin Console的界面指引选择符合自己需求的配置,完成安装就可以了。CM Server会帮助用户完成绝大多数的配置。安装完成后可以通过在浏览器中输入http://Your_CM_Server_IP:50070 验证是否能打开HDFS控制台,如果是则证明安装成功。

    PATH B - 使用yum,或者apt-get包管理工具或者Cloudera Parcels的方式下载安装Cloudera Manager Server,Cloudera Manager Agent,Oracle JDK,CDH以及其它服务。

    集群服务器准备

    准备至少3台CentOS6.X的服务器,因为Zookeeper要求至少3台以上奇数的服务器才能启动。接着配置3台服务器之间的SSH免密登录,因为HDFS服务器之前的通信和服务的启动都是通过SSH的方式来进行。SSH免密登录的简单配置可以通过以下的方式:

    #安装ssh-client
    $yum install ssh-client
    
    #在要进行免密登录的客户机上运行下面的命令,有提示时全部按回车就可以
    $ssh-keygen 
    
    #这里的IP地址输入的是要远程免密登录的服务器IP地址
    $ssh-copy-id  192.168.1.12 

    集群中每个服务器都需要关闭防火墙

    $service iptables stop

    关闭SELinux文件访问控制系统,修改/etc/selinux/config 配置文件中的”SELINUX=enforcing”为”SELINUX=disabled” 并重启操作系统。

    单用户模式配置

    如果生产环境中的集群服务器不支持使用root用户,CM5.3以后推出了Single User Mode,可以让CM使用用户自定义的系统用户和用户组。本文中就不做详细介绍,默认使用root用户。

    Python环境安装

    CM需要运行在Python环境下,在CentOS6.X版本中,需要安装Python2.6来启动Cloudera Manager。Python环境的安装在CentOS系统中可以通过以下命令来进行安装
    $yum install python26
    不过建议安装之前检查自己的系统,因为默认CentOS中已经预装好Python环境了。

    数据库的安装

    Cloudera Manager需要外部的数据库存储一些元数据信息,配置信息,系统和任务的运行信息等。在PATH B的方式下,用户需要自己安装生产环境的数据库并配置成Cloudera Manager和Hive Metadata所使用的库。
    当安装完数据库后,可以通过以下代码设置CM Server使用自定义的生产环境数据库

    $/usr/share/cmf/schema/scm_prepare_database.sh database-type [options] database-name username password

    以上代码执行后会顺序创建CM Server数据库的配置文件,并指定特定数据库以及特定的用户名和密码为CM Server使用的存储数据库环境。
    接着需要下载数据库的连接驱动包,如Mysql的驱动包配置如下:

    $tar zxvf mysql-connector-java-5.1.31.tar.gz
    $sudo cp mysql-connector-java-5.1.31/mysql-connector-java-5.1.31-bin.jar /usr/share/java/mysql-connector-java.jar

    剩下就根据实际所使用的服务组件配置数据库和连接驱动包,如Hive Metastore,Sqoop等

    设置Cloudera Manager Repository环境

    Cloudera官方推荐使用yum,apt-get或者zypper等包管理工具来安装CM以及其相关的组件。和PATH A使用bin自动化安装CM Server并自动配置内置数据库的方式不同的是,PATH B中使用包管理工具安装CM Server,并且用户需要自己配置生产环境的数据库。
    首先,需要下载Cloudera Manager的Repository文件,并拷贝到/etc/yum.repos.d/目录中作为yum源

    $cd /etc/yum.repos.d/
    $wget https://archive.cloudera.com/cm5/redhat/5/x86_64/cm/cloudera-manager.repo
    安装Oracle JDK和Cloudera Manager
    #安装Open JDK
    $ sudo yum install oracle-j2sdk1.7
    
    #安装Cloudera Manager Server和启动它需要的守护进程
    $ sudo yum install cloudera-manager-daemons cloudera-manager-server
    手动安装Cloudera Manager Agent

    CM Agent负责启动和杀死各个CM管理的服务进程,解压和安装CM管理的服务,自动配置,通过心跳机制监视集群服务器状态(默认每15秒Agent发送心跳给CM Server)等

    #集群上所有的节点包括主节点都需要安装CM Agent
    $ sudo yum install cloudera-manager-agent cloudera-manager-daemons

    接着需要在集群的所有节点上设置/etc/cloudera-scm-agent/config.ini文件中server-host和server-port两个属性,是CM Agent连接的CM Server进程所运行的服务器IP和端口。

    手动安装CDH5和相关的组件

    首选把CDH的RPM安装包下载下来,下载地址为:https://archive.cloudera.com/cdh5/one-click-install/redhat/7/x86_64/cloudera-cdh-5-0.x86_64.rpm?_ga=1.217368213.282215394.1469549288
    然后输入如下命令进行安装

    #安装CDH
    $sudo yum --nogpgcheck localinstall cloudera-cdh-5-0.x86_64.rpm 
    
    #安装CDH相关的其它组件,如Hive,Impala,Spark等
    $ sudo yum clean all
    $ sudo yum install avro-tools crunch flume-ng hadoop-hdfs-fuse hadoop-hdfs-nfs3 hadoop-httpfs hadoop-kms hbase-solr hive-hbase hive-webhcat hue-beeswax hue-hbase hue-impala hue-pig hue-plugins hue-rdbms hue-search hue-spark hue-sqoop hue-zookeeper impala impala-shell kite llama mahout oozie pig pig-udf-datafu search sentry solr-mapreduce spark-core spark-master spark-worker spark-history-server spark-python sqoop sqoop2 whirr
    启动Cloudera Manager Server和Agents
    #在主节点上启动 Cloudera Manager Server
    $ sudo service cloudera-scm-server start
    
    #在集群的所有节点上输入下面的命令启动CM Agent
    sudo service cloudera-scm-agent start
    登录Cloudera Manager Admin Console

    当Cloudera Manager Installer安装配置完Cloudera Manager Server,以及CM Server所使用的内置数据库后,Installer会启动cloudera-scm-server服务。这时就可以通过http://localhost:7180 登录CM网页版的管理中心,默认用户名和密码都是admin,接着就可以通过CM管理中心自动安装配置CDH和相关服务(如果之前没有选择手动的方式而是选择了由CM安装的方式)。

    使用CM自动安装CDH和相关组件

    登录进去Admin Console后,在UI界面选择CDH安装方式的页面,只能选择使用Parcels或者Packages其中一种方式进行安装,如果之前已经手动安装了CDH以及其它组件的Packages,那么就无法使用parcel的方式进行安装。parcel是一个序列化后的二进制打包文件,附带着编程文件和一些元数据文件,是官方推荐使用的CDH安装方式之一。
    可以指定从本地的parcel repository中安装或者远程连接parcel URL进行安装。这里作者选择使用本地的parcel repository进行安装。先从https://archive.cloudera.com/cdh5/parcels/5/中下载CDH的parcel包,主要是下载CDH-5.8.0-1.cdh5.8.0.p0.42-el6.parcel,CDH-5.8.0-1.cdh5.8.0.p0.42-el6.parcel.sha1,manifest.json这3个文件,然后把这些文件放入CM Server节点默认的parcel路径中/opt/cloudera/parcel-repo,最后在Admin Console中选择parcel安装的方式。

    后续只要根据Admin Console的界面指引选择符合自己需求的配置,完成安装就可以了。CM Server会帮助用户完成绝大多数的配置。安装完成后可以通过在浏览器中输入http://Your_CM_Server_IP:50070 验证是否能打开HDFS控制台,如果是则证明安装成功。

    PATH C - 使用Tar包的方式安装Cloudera Manager Server,Cloudera Manager Agent,CDH,JDK

    PATH C的安装方式适合在离线的环境下进行Cloudera各个组件的安装,直接解压tar包,手动创建文件夹并将各个组件的tar包解压内容放置在这些创建的指定目录下,最后手动进行各项配置文件的配置,创建用户,数据库驱动包安装,数据库建表等。因为篇幅有限,作者将专门撰写一篇Cloudera的离线安装文档进行描述,就不在此进行详细描述了。

    Cloudera Manager和CDH等组件部署成功后就可以见到如下的界面,可以看出来CM提供了许多强大的监控,报告和诊断服务,而且作者因为只是在笔记本电脑上用虚拟机来模拟集群,也没做任何优化配置,可以看多这个集群的健康状态非常差。后续作者会继续深入学习Cloudera,并不定期分享一些学习心得。
    这里写图片描述

    Toubleshooting

    作者在部署成功没多久,整个Cloudera Manager Server就挂了。后来查看/var/log/cloudera-scm-server/loudera-scm-server.log 时发现主节点的JVM一直在做Full GC内存回收,并且“Stop the World”长达一分钟以上,明显是因为内存不够。这是因为作者使用的是虚拟机来部署,每个VM只分配了1GB的内存,后来给主节点分配了至少2GB的内存,问题就解决了。

    展开全文
  • CDH环境集成KUDU的安装和使用

    千次阅读 2018-05-30 09:38:06
    CDH环境集成KUDU安装与使用说明一、安装说明1.1、安装步骤:1、重新配置CDH集群,将对应版本的KUDU放到本地repo目录后按照安装CDH环境步骤逐步进行安装;1.2、所遇问题:1、无法读取到kudu安装parcel;...

    CDH环境集成KUDU安装与使用说明

    一、安装说明

    1.1、安装步骤:

    1、重新配置CDH集群,将对应版本的KUDU放到本地repo目录后按照安装CDH环境步骤逐步进行安装;


    1.2、所遇问题:

    1、无法读取到kudu安装parcel;

             a:检查kudu的相关内容是否已经放入本地repo目录;

             b:检查对应的版本是否一致;

             c:重启CDH management;

    1.3、参考文档:

    https://blog.csdn.net/mergerly/article/details/75127392#comments

    https://www.cnblogs.com/littlesuccess/p/5052511.html

    https://blog.csdn.net/qq_26398033/article/details/55099591

    https://www.jianshu.com/p/cf4c4974127a?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

    https://www.cnblogs.com/Leo_wl/p/7374133.html

    https://www.cloudera.com/documentation/kudu/latest.html


     

    二、使用说明

    2.1、kudu简介:

    https://www.2cto.com/kf/201707/653559.html

    http://dayutianfei.iteye.com/blog/2246791

    1. 什么是Kudu

    This new open source complement to HDFS andApache HBase is designed to fill gaps in Hadoop’s storage layer that have givenrise to stitched-together, hybrid architectures.

    可以看出这个新组件有两个特点:1)开源(免费,ASL 2.0);2)这是一个融合HDFS和HBase的功能的新组件,具备介于两者之间的新存储组件

    2. Kudu的使用场景

    Strong performance for both scan and randomaccess to help customers simplify complex hybrid architectures(适用于那些既有随机访问,也有批量数据扫描的复合场景)

    High CPU efficiency in order to maximizethe return on investment that our customers are making in modern processors(高计算量的场景)

    High IO efficiency in order to leveragemodern persistent storage(使用了高性能的存储设备,包括使用更多的内存)

    The ability to update data in place, toavoid extraneous processing and data movement(支持数据更新,避免数据反复迁移)

    The ability to support active-activereplicated clusters that span multiple data centers in geographically distantlocations(支持跨地域的实时数据备份和查询)

    总结上述内容,可以归纳为两个亮点:1)将不同组件结合起来的异构生态圈打通,使得数据、操作在一个圈内进行;2)将CPU、磁盘IO统一考量,便于资源的最优分配,尤其是未来CPU的计算资源成为瓶颈后;

    3. 总结

    kudu目前来看,是把analytics 和 online两个应用场景进行了整合,目的在于将分散的大数据生态圈组件进行融合,估计这也是未来大数据生态圈急需解决的一个问题,也是一个趋势。

    2.2、kudu使用方法:

    2.2.1使用方法:

    1.可通过Java client、C++ client、Pythonclient操作kudu表,但要构建client并编写应用程序;

    2.可通过kudu-spark包集成kudu与spark,并编写spark应用程序来操作kudu表;

    3.可通过impala的shell对kudu表进行交互式的操作,因为impala2.8及以上的版本已经集成了对kudu的操作。下面主要讲述基于impala的使用方法。

    2.2.2基本要求:

    安装2.8及以上版本的impala,并安装hive,使用其metastore服务来存储impala的元数据。此处Hadoop、hive、impala的安装过程省略。

     

    注:需通过CDH 管理界面配置impala操作kudu

    2.3、基于kudu的基本操作(impala)

    创建表:示例一

    CREATE TABLE my_first_table

    (

    id BIGINT,

    name STRING,

    PRIMARY KEY(id)

    )

    PARTITION BY HASH PARTITIONS 16

    STORED AS KUDU;

     

    CREATE TABLE new_table

    PRIMARY KEY (ts, name)

    PARTITION BY HASH(name) PARTITIONS 8

    STORED AS KUDU

    AS SELECT ts, name, value FROM old_table;

     

    注:创建内部表时,类似partition by ………stored as kudu的分区声明语句是必须的。

    无论是通过client创建的kudu表还是通过impala创建的表,都可以在master节点的UI界面的tables选项中查看,如下图:

    2.4、数据的导入导出

    https://blog.csdn.net/lybaiyy/article/details/78973306

    https://blog.csdn.net/Mark__cao/article/details/78766195

    https://blog.csdn.net/colorant/article/details/50803226

    2.5、其他

    展开全文
  • Cloudera&CDH安装配置说明

    千次阅读 2018-12-09 15:06:37
    实验环境 实验环境:Win7下vmware虚拟机 操作系统:CentOS 6.5 x64 Clouder Manager:5.14.0 CDH:5.14.0 安装说明 ...官方共给出了3中安装方式:第一种方法必须要求所有机器都能连网,由于最近各种国外的网站被...
  • 从网上看了很多的资料,填了不少...CDH (Cloudera's Distribution, including Apache Hadoop),是Hadoop众多分支中的一种,由Cloudera维护,基于稳定版本的Apache Hadoop构建,并集成了很多补丁,可直接用于生产环境...
  • cloudera环境搭建

    万次阅读 2018-09-17 09:40:42
    一、cloudera背景介绍 Cloude Manager概述: CDH是Cloudera公司对整体hadoop集群环境进行监控与管理的企业级大数据管理平台。 Cloudera Manager分为: Cloudera Manager Server:对整个集群提供监控与管理操作。...
  • 大数据:CDH和Cloudera Express的介绍

    万次阅读 2015-06-03 09:32:42
    自学大数据:CDH和Cloudera Express的介绍  前言:在上一篇中,讲到了社区版和第三方分发版的Hadoop的一些比较。这一篇文章,主要谈谈CDH及其Cloudera Express(免费版Cloudera Manager)在商业应用中,需要考虑...
  • CDH和Cloudera Express的介绍 CDH的介绍: CDH首先是100%开源,基于Apache协议。基于Apache Hadoop和相关projiect开发。可以做批量处理,交互式sql查询和及时查询,基于角色的权限控制。在企业中...
  • Cloudera Manager5常见问题汇总

    万次阅读 2015-11-13 10:57:44
    查看旁边的“详细信息”链接,可以发现在“正在启动 Cloudera Manager Agent…”环节有如下错误:>>IOError: [Errno 13] Permission denied: '/var/log/cloudera-scm-agent/cloudera-scm-agent.log' >>error: ...
  • cloudera-scm-agent start 启动失败

    千次阅读 2018-08-02 15:23:48
    cloudera-scm-agent start 启动失败 # /opt/cm-5.7.0/etc/init.d/cloudera-scm-agent start Starting cloudera-scm-agent: [FAILED] 查询日志 # cd /opt/cm-5.7.0/log/cloudera-scm-agent/ # ls cloudera-scm-...
  • CDH CM界面出现了无法访问的情现象,查看cloudera-scm-server状态 # service cloudera-scm-server status cloudera-scm-server dead but pid file exists 提示cloudera-scm-server dead # service ...
  • 解决maven仓库默认不支持cdh

    万次阅读 2017-10-17 21:23:30
    前面的话: 目前maven仓库中没有...cloudera自己建立了一个相关的仓库。要想利用maven添加相关依赖,则必须单独添加cloudera仓库。一、项目pom.xml, 添加仓库配置 <id>cloudera <url>https://repository.cloud
  • cloudera-scm-server-db 启动失败

    千次阅读 2017-11-14 09:03:52
    现象cloudera-scm-server-db 启动失败,[root@esggy-delivery-1 cloudera-scm-server]# service cloudera-scm-server-db start Starting cloudera-scm-server-db (via systemctl): Job for cloudera-scm-server-db....
  • CDH5.5离线安装部署(centos7血与泪)

    万次阅读 2015-12-24 14:25:14
    CDH用于管理hadoop生态环境的各个组件,提供安装和管理的功能,强烈推荐 ...离线包下载1.1 cloudera-manager下载 下载地址cloudera-manager-centos7-cm5.5.0_x86_64.tar.gz //放入/opt/cloudera-manager#tar -zxf
  • Cloudera Manager 5卸载步骤 转自http://www.jianshu.com/p/d3d5751e7ec5
  • cloudera manager整体介绍

    万次阅读 2018-02-09 11:59:50
    Cloudera Manager的核心是Cloudera Manager Server。Server托管Admin Console Web Server和应用程序逻辑。它负责安装软件、配置、启动和停止服务以及管理运行服务的群集。 解释: Agent:安装在每台主机上。它...
  • ambari和clouderaManager对比

    千次阅读 2018-06-15 17:39:12
    cloudera研发了cloudera manger和cdh大数据分析集成平台 稳定性: cloudera相对来说比较稳定 ambari相对来说不稳定(页面打开速度慢) 资源消耗: cloudera manager的server端Xmx是2G,agent是1G,但是有host ...
  • https://blog.csdn.net/wumiqing1/article/details/86526513 https://blog.csdn.net/fearless11/article/details/58197056/ https://bbs.csdn.net/topics/391836526?page=1 ...
1 2 3 4 5 ... 20
收藏数 33,569
精华内容 13,427
关键字:

cloudera