Hadoop
概述
Apache 软件基金会旗下的一个开源分布式计算平台,为用户提供了系统底层细节透明的分布式基础架构。
核心:分布式文件系统(Hadoop Distributed File System,HDFS)和 MapReduce
生态
HDFS
HDFS 是针对谷歌文件系统(Google File System,GFS)的开源实现
优点:处理超大数据、流式处理、可以运行在廉价商用服务器上
HBase
高可靠性、高性能、可伸缩、实时读写、分布式的列式数据库
一般采用 HDFS 作为其底层数据存储
HBase 是针对谷歌 BigTable 的开源实现
MapReduce
Hadoop MapReduce 是针对谷歌 MapReduce 的开源实现
MapReduce 将复杂的、运行于大规模集群上的并行计算过程高度地抽象到了两个函数 —— Map 和 Reduce 上,并且允许用户在不了解分布式系统底层细节地情况下开发并行应用程序,并将其运行于廉价计算机集群上,完成海量数据地处理。
Hive
基于 Hadoop 的数据仓库工具
用途:对 Hadoop 文件中的数据集进行数据整理、特殊查询和分析存储
提供了类似于关系数据库 SQL 语言地查询语言:Hive QL
Hive 可以将 Hive QL 语句转换为 MapReduce 任务进行运行,而不必开发专门的 MapReduce 应用,十分适合数据仓库的统计分析。
Pig
Pig 是一种数据流语言和运行环境,适合于使用 Hadoop 和 MapReduce 平台来查询大型半结构化数据集。
Mahout
提供一些可扩展的机器学习领域经典算法的实现
目标:帮助开发人员更加方便快捷地创建智能应用程序
Zookeeper
高效和可靠的协同工作系统
提供分布式锁之类的基本服务,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理
用途:构建分布式应用,减轻分布式应用程序所承担的协调任务
Flume
高可用的、高可靠的、分布式的海量日志采集、聚合和传输的系统
Sqoop
Sqoop:SQL-to-Hadoop 的缩写
用途:在 Hadoop 和关系数据库之间交换数据
Ambari
基于 Web 的工具,支持 Apache Hadoop 集群的安装、部署、配置和管理。