Hive:基于Hadoop的数据仓库Hive
Hive由Facebook开源,最初用于解决海量结构化的日志数据统计问题。Hive定义了一种类似SQL的查询语(HiveQL),将SQL转化为MapReduce任务在Hadoop上执行,通常用于离线分析。
HBase:
HBase是一个分布式的、面向列的开源数据库,该技术来源于Fay Chang所撰写的Google论文“BigTable:一个结构化数据的分布式存储系统”。就像BigTable利用了Google文件系统(File System)所提供的分布式数据存储一样,HBase在Hadoop之上提供了类似于BigTable的能力。
ZooKeeper分布式协调服务
ZooKeeper:
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和HBase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。ZooKeeper的基本运转流程:选举Leader。同步数据。选举Leader过程中算法有很多,但要达到的选举标准是一致的。Leader要具有最高的执行ID,类似root权限。集群中大多数的机器得到响应并follow选出的Leader。
Mahout:
基于Hadoop的机器学习库Mahout
Mahout是Apache Software Foundation(ASF)旗下的一个开源项目,提供一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建智能应用程序。Mahout包含许多实现,包括聚类、分类、推荐过滤、频繁子项挖掘。此外,通过使用Apache Hadoop库,Mahout可以有效地扩展到云中。
工作流调度引擎Oozie:
Apache Oozie是用于Hadoop平台的一种工作流调度引擎。该框架(如图所示)使用Oozie协调器促进了相互依赖的重复工作之间的协调,您可以使用预定的时间或数据可用性来触发Apache Oozie。在Hadoop中执行的任务有时候需要把多个Map/Reduce作业连接到一起,这样才能够达到目的。在Hadoop生态圈中,有一种相对比较新的组件叫做Oozie,它让我们可以把多个Map/Reduce作业组合到一个逻辑工作单元中,从而完成更大型的任务。
Oozie是一种Java Web应用程序,它运行在Java Servlet容器——即Tomcat中,并使用数据库来存储以下内容:工作流定义当前运行的工作流实例,包括实例的状态和变量