Hadoop产品名词速览(不断补充中…)
Apache Hadoop: 是Apache开源组织的一个分布式计算开源框架,提供了一个分布式文件系统子项目(HDFS)和支持MapReduce分布式计算的软件架构。
Apache Hive: 是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。
Apache Pig: 是一个基于Hadoop的大规模数据分析工具,它提供的SQL-LIKE语言叫Pig Latin,该语言的编译器会把类SQL的数据分析请求转换为一系列经过优化处理的MapReduce运算。
Apache HBase: 是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。
Apache Sqoop: 是一个用来将Hadoop和关系型数据库中的数据相互转移的工具,可以将一个关系型数据库(MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。
Apache Zookeeper: 是一个为分布式应用所设计的分布的、开源的协调服务,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,简化分布式应用协调及其管理的难度,提供高性能的分布式服务
Apache Mahout:是基于Hadoop的机器学习和数据挖掘的一个分布式框架。Mahout用MapReduce实现了部分数据挖掘算法,解决了并行挖掘的问题。
Apache Cassandra:是一套开源分布式NoSQL数据库系统。它最初由Facebook开发,用于储存简单格式数据,集Google BigTable的数据模型与Amazon Dynamo的完全分布式的架构于一身
Apache Avro: 是一个数据序列化系统,设计用于支持数据密集型,大批量数据交换的应用。Avro是新的数据序列化格式与传输工具,将逐步取代Hadoop原有的IPC机制
Apache Ambari: 是一种基于Web的工具,支持Hadoop集群的供应、管理和监控。
Apache Chukwa: 是一个开源的用于监控大型分布式系统的数据收集系统,它可以将各种各样类型的数据收集成适合 Hadoop 处理的文件保存在 HDFS 中供 Hadoop 进行各种 MapReduce 操作。
Apache Hama: 是一个基于HDFS的BSP(Bulk Synchronous Parallel)并行计算框架, Hama可用于包括图、矩阵和网络算法在内的大规模、大数据计算。
Apache Flume: 是一个分布的、可靠的、高可用的海量日志聚合的系统,可用于日志数据收集,日志数据处理,日志数据传输。
Apache Giraph: 是一个可伸缩的分布式迭代图处理系统, 基于Hadoop平台,灵感来自 BSP (bulk synchronous parallel) 和 Google 的 Pregel。
Apache Oozie: 是一个工作流引擎服务器, 用于管理和协调运行在Hadoop平台上(HDFS、Pig和MapReduce)的任务。
Apache Crunch: 是基于Google的FlumeJava库编写的Java库,用于创建MapReduce程序。与Hive,Pig类似,Crunch提供了用于实现如连接数据、执行聚合和排序记录等常见任务的模式库
Apache Whirr: 是一套运行于云服务的类库(包括Hadoop),可提供高度的互补性。Whirr学支持Amazon EC2和Rackspace的服务。
Apache Bigtop: 是一个对Hadoop及其周边生态进行打包,分发和测试的工具。
Apache HCatalog: 是基于Hadoop的数据表和存储管理,实现中央的元数据和模式管理,跨越Hadoop和RDBMS,利用Pig和Hive提供关系视图。Cloudera Hue: 是一个基于WEB的监控和管理系统,实现对HDFS,MapReduce/YARN, HBase, Hive, Pig的web化操作和管理。
云计算术语
1 云计算
关于云计算的定义,目前为止至少有不下20种,这里选择了一种比较常见的定义:
云计算,是分布式计算技术的一种,其最基本的概念,是透过网络将庞大的计算处理程序自动分拆成无数个较小的子程序,再交由多部服务器所组成的庞大系统经搜寻、计算分析之后将处理结果回传给用户。透过这项技术,网络服务提供者可以在数秒之内,达成处理数以千万计甚至亿计的信息,达到和“超级计算机”同样强大效能的网络服务。
云计算是一种资源交付和使用模式,指通过网络获得应用所需的资源(硬件、平台、软件)。提供资源的网络被称为“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取。这种特性经常被比喻为像水电一样使用硬件资源,按需购买和使用。
2 软件即服务(SaaS)
这种类型的云计算通过浏览器把程序传给成千上万的用户。在用户眼中看来,这样会省去在服务器和软件授权上的开支;从供应商角度来看,这样只需要维持一个程序就够了,这样能够减少成本。
3 平台即服务(PaaS)
平台即服务(Platform as a Service,PaaS)是一种无需下载或安装,即可通过因特网发送操作系统和相关服务的模式。由于平台即服务能够将私人电脑中的资源转移至网络云,所以有时它也被称为“云件”(cloudware)。平台即服务是软件即服务(Software as a Service)的延伸。软件即服务是将软件部署为托管服务并通过因特网提供给客户。
4 基础设施即服务(IaaS)
云计算基础设施即服务,提供给客户的是出租处理能力、存储、网络和其它基本的计算资源,用户能够部署和运行任意软件,包括操作系统和应用程序。客户不管理或控制的底层的云计算基础设施,但能控制操作系统、储存、部署的应用,也有可能选择网络组件(例如,防火墙,负载均衡器)。最早是Amazon开创了这个市场,奠定了AWS在这个市场的领先地位。而Rackspace、Gogrid、Flexiscale、Gridlayer等后来者发展势头也不错。
5 云存储(Cloud Storage)
云存储是一个网络计算机数据存储模型,数据存储在多个虚拟主机上,一般由第三方持有,而不是保存在专用的服务器上。保持数据的公司运维这巨大的数据中心;并且有需要的用户可以根据需要购买或租用存储容量。背后的数据中心运维人员根据客户需要虚拟化资源,并将其作为虚拟服务器展示给用户,用户可以自己管理虚拟服务器。而在物理上,这些资源可能跨了多个服务器。
6 私有云(Private cloud)
私有云是为一个客户单独使用而构建的,因而提供对数据、安全性和服务质量的最有效控制。该公司拥有基础设施,并可以控制在此基础设施上部署应用程序的方式。私有云可部署在企业数据中心的防火墙内,也可以将它们部署在一个安全的主机托管场所。
私有云可由公司自己的 IT 机构,也可由云提供商进行构建。在此“托管式专用”模式中,像 Sun ,IBM这样的云计算提供商可以安装、配置和运营基础设施,以支持一个公司企业数据中心内的专用云。此模式赋予公司对于云资源使用情况的极高水平的控制能力,同时带来建立并运作该环境所需的专门知识。
7 公共云(Public cloud)
公共云又称外部云,是指通过因特网动态地、灵活地以自助方式获取资源。
8 混合云(Hybrid cloud)
混合云环境包含了多种内部云和/或外部云,“将会适用于大多数企业”,因为,通过集成多种云服务用户可以减少向公有云迁移时所面临的问题,如PCI compliance等。
9 社区云(Community cloud)
社区云是指一些由有着类似需求并打算共享基础设施的组织共同创立的云,社区云的目的是实现云计算的一些优势。由于共同费用的用户数比公有云少,这种选择往往比公有云贵,但隐私度安、全性和政策遵从都比公有云高。
10 The Intercloud(云际云)
云际云的概念最早是在2007年由Kevin Kelly提出的,他认为最终会有一个云的云,就是云际云。云际云的概念是“因特网的因特网”这一概念的扩展,2009年,云际云的概念开始流行起来,也用于描述未来的数据中心。
云际云的概念是建立在单个云不能包括无线资源的观点之上的,试想如果一个云包括了所有的虚拟基础设施资源,包括计算和存储资源,它将不能满足将的客户发送的服务进一步进行分配的需求。云际云就是用于解决这类问题的,事实上,每一个云都可以使用其他云上的虚拟基础设施,包括计算和存储资源。这种“为使用付费”的形式为云供应商带来了新的商机。当然,云际云也存在着诸多挑战,如云的联合、安全性、互操作性、QoS、监管和计费等。