大数据我们都知道hadoop,可是还会各种各样的技术进入我们的视野:Spark,Storm,impala,让我们都反映不过来。为了能够更好的架构大数据项目,这里整理一下,供技术人员,项目经理,架构师选择合适的技术,了解大数据各种技术之间的关系,选择合适的语言。
我们可以带着下面问题来阅读本文章:
1.hadoop都包含什么技术?
2.Cloudera公司与hadoop的关系是什么,都有什么产品,产品有什么特性?
3.Spark与hadoop的关联是什么?
4.Storm与hadoop的关联是什么?
hadoop家族
创始人:Doug Cutting
整个Hadoop家族由以下几个子项目组成:
Hadoop Common:
Hadoop体系最底层的一个模块,为Hadoop各子项目提供各 种工具,如:配置文件和日志操作等。
HDFS:
是Hadoop应用程序中主要的分布式储存系统, HDFS集群包含了一个NameNode(主节点),这个节点负责管理所有文件系统的元数据及存储了真实数据的DataNode(数据节点,可以有很多)。HDFS针对海量数据所设计,所以相比传统文件系统在大批量小文件上的优化,HDFS优化的则是对小批量大型文件的访问和存储。
MapReduce:
是一个软件框架,用以轻松编写处理海量(TB级)数据的并行应用程序,以可靠和容错的方式连接大型集群中上万个节点(商用硬件)。
Hive:
Apache Hive是Hadoop的一个数据仓库系统,促进了数据的综述(将结构化的数据文件映射为一张数据库表)、即席查询以及存储在Hadoop兼容系统中的大型数据集分析。Hive提供完整的SQL查询功能——HiveQL语言,同时当使用这个语言表达一个逻辑变得低效和繁琐时,HiveQL还允许传统的Map/Reduce程序员使用自己定制的Mapper和Reducer。hive类似CloudBase,基于hadoop分布式计算平台上的提供data warehouse的sql功能的一套软件。使得存储在hadoop里面的海量数据 的汇总,即席查询简单化。
Pig:
Apache Pig是一个用于大型数据集分析的平台,它包含了一个用于数据分析应用的高级语言以及评估这些应用的基础设施。Pig应用的闪光特性在于它们的结构经得起大量的并行,也就是说让它们支撑起非常大的数据集。Pig的基础设施层包含了产生Map-Reduce任务的编译器。Pig的语言层当前包含了一个原生语言——Pig Latin,开发的初衷是易于编程和保证可扩展性。
Pig是SQL-like语言,是在MapReduce上构建的一种高级查询语言,把一些运算编译进MapReduce模型的Map和Reduce中,并且用户可以定义自己的功能。Yahoo网格运算部门开发的又一个克隆Google的项目Sawzall。
HBase:
Apache HBase是Hadoop数据库,一个分布式、可扩展的大数据存储。它提供了大数据集上随机和实时的读/写访问,并针对了商用服务器集群上的大型表格做出优化——上百亿行,上千万列。其核心是Google Bigtable论文的开源实现,分布式列式存储。就像Bigtable利用GFS(Google File System)提供的分布式数据存储一样,它是Apache Hadoop在HDFS基础上提供的一个类Bigatable。
ZooKeeper:
Zookeeper是Google的Chubby一个开源的实现。它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护、名字服务、 分布式同步、组服务等。ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。
Avro:
Avro是doug cutting主持的RPC项目,有点类似Google的protobuf和Facebook的thrift。avro用来做以后hadoop的RPC,使hadoop的RPC模块通信速度更快、数据结构更紧凑。
Sqoop:
Sqoop是一个用来将Hadoop和关系型数据库中的数据相互转移的工具,可以将一个关系型数据库中数据导入Hadoop的HDFS中,也可以将HDFS中数据导入关系型数据库中。
Mahout:
Apache Mahout是个可扩展的机器学习和数据挖掘库,当前Mahout支持主要的4个用例:
推荐挖掘:搜集用户动作并以此给用户推荐可能喜欢的事物。
聚集:收集文件并进行相关文件分组。
分类:从现有的分类文档中学习,寻找文档中的相似特征,并为无标签的文档进行正确的归类。
频繁项集挖掘:将一组项分组,并识别哪些个别项会经常一起出现。
Cassandra:
Apache Cassandra是一个高性能、可线性扩展、高有效性数据库,可以运行在商用硬件或云基础设施上打造完美的任务关键性数据平台。在横跨数据中心的复制中,Cassandra同类最佳,为用户提供更低的延时以及更可靠的灾难备份。通过log-structured update、反规范化和物化视图的强支持以及强大的内置缓存,Cassandra的数据模型提供了方便的二级索引(column indexe)。
Chukwa:
Apache Chukwa是个开源的数据收集系统,用以监视大型分布系统。建立于HDFS和Map/Reduce框架之上,继承了Hadoop的可扩展性和稳定性。Chukwa同样包含了一个灵活和强大的工具包,用以显示、监视和分析结果,以保证数据的使用达到最佳效果。
Ambari:
Apache Ambari是一个基于web的工具,用于配置、管理和监视Apache Hadoop集群,支持Hadoop HDFS,、Hadoop MapReduce、Hive、HCatalog,、HBase、ZooKeeper、Oozie、Pig和Sqoop。Ambari同样还提供了集群状况仪表盘,比如heatmaps和查看MapReduce、Pig、Hive应用程序的能力,以友好的用户界面对它们的性能特性进行诊断。
HCatalog
Apache HCatalog是Hadoop建立数据的映射表和存储管理服务,它包括:
提供一个共享模式和数据类型机制。
提供一个抽象表,这样用户就不需要关注数据存储的方式和地址。
为类似Pig、MapReduce及Hive这些数据处理工具提供互操作性。
Chukwa:
Chukwa是基于Hadoop的大集群监控系统,由yahoo贡献。
Cloudera系列产品:
创始组织:Cloudera公司
1.Cloudera Manager:
有四大功能
(1)管理
(2)监控
(3)诊断
(4)集成
2.Cloudera CDH:英文名称:CDH (Cloudera’s Distribution, including Apache Hadoop)
Cloudera对hadoop做了相应的改变。
Cloudera公司的发行版,我们将该版本称为CDH(Cloudera Distribution Hadoop)。
3.Cloudera Flume
Flume是Cloudera提供的日志收集系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;
Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。
Flume最早是Cloudera提供的日志收集系统,目前是Apache下的一个孵化项目,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力 Flume提供了从console(控制台)、RPC(Thrift-RPC)、text(文件)、tail(UNIX tail)、syslog(syslog日志系统,支持TCP和UDP等2种模式),exec(命令执行)等数据源上收集数据的能力。
Flume采用了多Master的方式。为了保证配置数据的一致性,Flume[1]引入了ZooKeeper,用于保存配置数据,ZooKeeper本身可保证配置数据的一致性和高可用,另外,在配置数据发生变化时,ZooKeeper可以通知Flume Master节点。Flume Master间使用gossip协议同步数据。
4.Cloudera Impala
Cloudera Impala对你存储在Apache Hadoop在HDFS,HBase的数据提供直接查询互动的SQL。除了像Hive使用相同的统一存储平台,Impala也使用相同的元数据,SQL语法(Hive SQL),ODBC驱动程序和用户界面(Hue Beeswax)。Impala还提供了一个熟悉的面向批量或实时查询和统一平台。
5.Cloudera hue
Hue是cdh专门的一套web管理器,它包括3个部分hue ui,hue server,hue db。hue提供所有的cdh组件的shell界面的接口。你可以在hue编写mr,查看修改hdfs的文件,管理hive的元数据,运行Sqoop,编写Oozie工作流等大量工作。
Spark
创始组织:加州大学伯克利分校 AMP 实验室 (Algorithms, Machines, and People Lab) 开发
Spark 是一种与 Hadoop 相似的开源集群计算环境,但是两者之间还存在一些不同之处,这些有用的不同之处使 Spark 在某些工作负载方面表现得更加优越,换句话说,Spark 启用了内存分布数据集,除了能够提供交互式查询外,它还可以优化迭代工作负载。
Spark 是在 Scala 语言中实现的,它将 Scala 用作其应用程序框架。与 Hadoop 不同,Spark 和 Scala 能够紧密集成,其中的 Scala 可以像操作本地集合对象一样轻松地操作分布式数据集。
尽管创建 Spark 是为了支持分布式数据集上的迭代作业,但是实际上它是对 Hadoop 的补充,可以在 Hadoo 文件系统中并行运行。通过名为 Mesos 的第三方集群框架可以支持此行为。Spark 由加州大学伯克利分校 AMP 实验室 (Algorithms, Machines, and People Lab) 开发,可用来构建大型的、低延迟的数据分析应用程序。
Storm
Twitter将Storm正式开源了,这是一个分布式的、容错的实时计算系统,它被托管在GitHub上,遵循 Eclipse Public License 1.0。Storm是由BackType开发的实时处理系统,BackType现在已在Twitter麾下。GitHub上的最新版本是Storm 0.5.2,基本是用Clojure写的。
http://www.thinksaas.cn/topics/0/611/611621.html
相关推荐
"Cloudera Manager中文手册" Cloudera Manager是一款基于大数据管理平台,用于管理Hadoop集群和CDH(Cloudera Distribution of Hadoop)集群。该手册详细介绍了Cloudera Manager的产品介绍、基本功能、监控功能等...
Java调用Cloudera Manager API是一个复杂而关键的任务,它涉及到使用Java编程语言与Cloudera Manager服务器进行交互,以实现自动化管理和监控大数据集群。Cloudera Manager是管理Hadoop和其他Cloudera支持的数据处理...
一、Cloudera Manager简介 Cloudera Manager是Cloudera公司提供的开源平台,用于简化Apache Hadoop及其相关组件的部署、管理和监控。在CDH中,它提供了一站式解决方案,包括HDFS、MapReduce、YARN、HBase、Spark等...
cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm, cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm, cloudera-manager-server-6.3.1-1466458.el7.x86_64.rpm, cloudera-manager-server-db-2-6.3.1-...
一、Cloudera Manager简介 Cloudera Manager是基于Web界面的全面管理平台,它允许用户轻松监控、配置、更新和优化Hadoop及其相关服务,如HDFS、YARN、HBase、Hive等。CM提供了丰富的功能,包括资源分配、性能监控、...
Cloudera Manager是Cloudera公司提供的一套用于管理Apache Hadoop集群的软件,它简化了Hadoop集群的安装、部署和运维工作。Cloudera Manager使用C/S结构,包含一个Server端和若干Agent端。Server端负责集群的管理、...
**Cloudera Manager**是大数据领域中一个关键的管理工具,尤其在Apache Hadoop生态系统中,它扮演着核心角色。Cloudera Manager是CDH(Cloudera Distribution Including Apache Hadoop)的重要组成部分,CDH是一个...
在Cloudera Manager中配置Hive使用MySQL数据库涉及多个步骤,从卸载CentOS默认MySQL到配置完毕,下面详细说明每一步的知识点。 首先,确保在添加Hive数据库前,系统中不存在先前安装的MySQL版本。使用命令rpm -qa |...
"大数据集群Cloudera Manager日常运维手册" 大数据集群Cloudera Manager是大数据处理和分析的核心组件之一,它提供了一个统一的管理平台,用于管理和维护大数据集群。Cloudera Manager日常运维手册是大数据集群管理...
Cloudera Manager是CDH市场领先的管理平台,作为业界第一的端到端Apache Hadoop的管理应用,Cloudera Manager对CDH的每个部件都提供了细粒度的可视化和控制,从而设立了企业部署的标准。通过Cloudera Manager,运维...
Cloudera Manager API v32 是一个针对 Cloudera Manager 的 RESTful API,自 Cloudera Manager 6.2.0 版本开始引入。这个 API 提供了一种灵活的方式来管理 Cloudera 集群,包括 CDH 6.2 及其组件。它允许管理员通过 ...
适用于CDH最后的一个免费版本的CDH6.3.2,用于CDH的本地源搭建.这部分是Cloudera Manager部分
Cloudera Manager安装部署.pdf
### Cloudera Manager API v14 关键知识点 #### 一、概述 Cloudera Manager API v14 是用于管理 Cloudera Data Platform (CDP) 和其他 Cloudera 产品的强大工具。它允许管理员通过 API 调用来监控、管理和配置集群...
Cloudera Manager大数据平台运维操作指南 Cloudera Manager是一个大数据平台的运维操作指南,旨在帮助用户更好地管理和维护大数据平台。下面是该指南中的重要知识点: 登录Cloudera Manager Cloudera Manager的...
CentOS 7 离线安装 Cloudera Manager 6 和 CDH 6.3.1 本文将指导您在 CentOS 7 环境中离线安装 Cloudera Manager 6 和 CDH 6.3.1。整个安装过程可以分为多个步骤,包括环境准备、系统配置、Java 环境配置、SSH 无...
Cloudera Manager6.2.1
本文是关于Cloudera Manager的中文手册,将详细介绍Cloudera Manager的版本、安装、配置、API、安全以及与Cloudera CDH的关系等内容。Cloudera Manager是Cloudera公司开发的一款用于简化Apache Hadoop集群管理的工具...
Cloudera Manager是CDH市场中领先的管理平台,由Cloudera公司开发,它是一个端到端的Apache Hadoop管理应用,提供了对CDH每个部件的细粒度可视化和控制功能。Cloudera Manager的目的是简化企业数据中心的管理,它...
一、Cloudera Manager简介 Cloudera Manager是Cloudera公司提供的一个统一管理平台,它能够简化Hadoop集群的部署、配置、监控和维护工作。CM5.14.2版本提供了许多改进和优化,包括性能提升、新的安全特性以及对不同...