Ganglia Sqoop DataX Azkaban

Ganglia

​ Ganglia是UC Berkeley发起的一个开源集群监视项目,设计用于测量数以千计的节点。Ganglia的核心包含gmond、gmetad以及一个Web前端。
主要是用来监控系统性能,如:cpu 、mem、硬盘利用率,I/O负载、网络流量情况等,通过曲线很容易见到每个节点的工作状态,对合理调整、分配系统资源,提高系统整体性能起到重要作用。

Sqoop

何为Sqoop?

​ Sqoop(SQL-to-Hadoop)是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql…)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导入到Hadoop的HDFS中,也可以将HDFS的数据导出到关系型数据库中.

为什么需要用Sqoop?

我们通常把有价值的数据存储在关系型数据库系统中,以行和列的形式存储数据,以便于用户读取和查询。但是当遇到海量数据时,我们需要把数据提取出来,通过MapReduce对数据进行加工,获得更符合我们需求的数据。数据的导入和导出本质上是Mapreduce程序,充分利用了MR的并行化和容错性。为了能够和HDFS系统之外的数据库系统进行数据交互,MapReduce程序需要使用外部API来访问数据,因此我们需要用到Sqoop。

架构图

Ganglia Sqoop DataX Azkaban_第1张图片

Sqoop 导入和导出过程

Sqoop 是通过 MapReduce 作业进行导入操作的。在导入过程中,Sqoop 从表中读取数据行,将其写入 HDFS。反之就是导出过程。

Ganglia Sqoop DataX Azkaban_第2张图片

DataX

Ganglia Sqoop DataX Azkaban_第3张图片

DataX 是阿里云 DataWorks 数据集成 的开源版本,主要就是用于实现数据间的离线同步。 DataX 致力于实现包括关系型数据库(MySQL、Oracle 等)、HDFS、Hive、ODPS、HBase、FTP 等 各种异构数据源(即不同的数据库) 间稳定高效的数据同步功能

设计理念

  • 为了 解决异构数据源同步问题,DataX 将复杂的网状同步链路变成了星型数据链路,DataX 作为中间传输载体负责连接各种数据源;
  • 当需要接入一个新的数据源时,只需要将此数据源对接到 DataX,便能跟已有的数据源作为无缝数据同步。

DataX 3.0六大核心优势

  1. 可靠的数据质量监控
  2. 丰富的数据转换功能
  3. 精准的速度控制
  4. 强劲的同步性能
  5. 健壮的容错机制
  6. 极简的使用体验

Azkaban

Azkaban是由Linkedin开源的一个批量工作流任务调度器。用于负责任务的调度运行(如数据仓库调度)

用于在一个工作流内以一个特定的顺序运行一组工作和流程。Azkaban定义了一种KV文件格式来建立任务之间的依赖关系,并提供一个易于使用的web用户界面维护和跟踪你的工作流。

你可能感兴趣的:(sqoop,hadoop,hdfs)