文章目录
1 组件说明:
组件 | 说明 |
---|---|
ZooKeeper | Apache ZooKeeper 是用于维护和同步配置数据的集中服务。 |
HDFS | Hadoop 分布式文件系统 (HDFS) 是 Hadoop 应用程序使用的主要存储系统。HDFS 创建多个数据块副本并将它们分布在整个群集的计算主机上,以启用可靠且极其快速的计算功能,依赖ZooKeeper服务。 |
Yarn | Hadoop MapReduce 2.0 (MRv2) 或 Yarn 是支持 MapReduce 应用程序的数据计算框架,依赖HDFS服务。 |
HBase | HBase是一个分布式、面向列的开源数据库,它是一个适合于非结构化数据存储的列式数据库,依赖于ZooKeeper和HDFS服务。 |
Hive | Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的SQL查询功能,可以将SQL语句转换为MapReduce任务进行运行。 |
Impala | Impala是Cloudera公司主导开发的新型查询系统,它提供SQL语义,能查询存储在Hadoop的HDFS和HBase中的PB级大数据。 |
Solr | Solr是一个分布式服务,用于编制存储在 HDFS 中的数据的索引并搜索这些数据。 |
Spark | Spark是强大的开源并行计算引擎,基于内存计算,速度更快;接口丰富,易于开发;集成SQL、Streaming、GraphX、MLlib,提供一栈式解决方案。 |
SparkSQL | SparkSQL是Spark的一个应用,支持交互式查询,提供Thrift服务,可以通过jdbc方式进行SQL操作。 |
Flume | Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。 |
Storm | Storm是一个分布式的、容错的 实时计算系统。 |
Kafka | Kafka是一种高吞吐量的分布式发布订阅消息系统。 |
Hue | Hue 是与包括 Apache Hadoop 的 Cloudera Distribution 一起配合使用的图形用户界面。依赖 HDFS、YARN 和 Hive服务。 |
Sqoop2 | Sqoop2是一个用来将Hadoop和关系型数据库中的数据相互转移的工具,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。 |
HadoopLoader | HadoopLoader工具用于将文本数据高效快速的上传到Hadoop大数据平台。 |
1.1 HDFS
HDFS 是构建在廉价的 PC 机器上的分布式文件系统,提供高吞吐量的应用程序数据访问,对外部客户机而言,HDFS 就像一个传统的分级文件系统。可以创建、删除、移动或重命名文件等。
HDFS 提供如下功能:
• 数据副本:为了容错,HDFS 文件的所有数据块都会有副本。 每个文件的副本系数都是可配置的。 应用程序可以指定某个文件的副本数目。副本系数可以在文件创建的时候指定,也可以在之后改变。
• 文件权限:类似 POSIX 的权限模型,每个文件或目录有一个关联的用户和组,可以分别设置不同的读写权限,和 POSIX 的差异是没有可执行权限标记。
• 限额:可以针对某个目录设置限额,具体包括:Name Quotas-限制目录中子目录和文件的数量,Space Quotas-限制目录的存储总容量。(多副本时,每个副本都算在内;HDFS 自身的元数据存储开销不计算在内。)
• Namenode 高可用(HA):HA 用于解决 Namenode 单点的问题,提高可用性。
• 支持数据误操作恢复:HDFS 具备将误删除的数据,可以通过回收站功能恢复数据,防止误操作致使文件丢失。
• HDFS 负载均衡:HDFS 的数据在各个 DataNode 中分布可能不均匀,尤其是在 DataNode 节点出现故障或新增 DataNode 节点时,用户可以使用 Balance 功能重新平衡 DataNode 上的数据块的分布。
1.2 HadoopLoader
HadoopLoader 工具用于将了本地数据高效快速的上传到 Hadoop 大数