大数据的弄潮儿:阿里产品dataX和ODPS的使用方法--ODPS篇

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/mochou111/article/details/80829903

众所周知,原始的数据仓库存在着“存不了,装不下,算不动”的三大严重问题,为了解决越来越多的数据量和越来越繁杂的数据关系,大数据应运而生。在大数据云时代来临之际,掌握了完美的数据处理工具,譬如hadoop,oracle,ogg这些必将会给你带来不错的收益,而今天我们着重讲一下阿里的两大产品dataX和ODPS。

************************************************ODPS********************************************************

ODPS也叫MaxComputer,具体是什么大家可以去阿里云官方文档里查看详情。我在这里说一下我自己对他的理解,ODPS是一个云端集成数据库,在这里你可以对数据进行清洗,标准化,建立相关主题等等,此外它的项目管理,任务调度,任务运维等等也是很人性化的操作,基本上培训几天就可以对其进行大致的了解和掌握。

和hadoop一样,ODPS也有自己的一套sql脚本标准,是汲取hivesql,oracle,mysql等优势集大成之作。本来我是想写一些sql的简单使用,然后再拓展一下ODPS的udf,udtf,udaf这些,但是一想到这些官方文档上写的更加详细和具体,我就不在这里班门弄斧了。下面着重讲一下ODPS的运维操作,希望对入门级有所帮助

1 平台简介

1.1 概念术语

组织:指使用系统或者计算资源的客户,即公司

项目空间:是大数据开发平台最基本的组织对象,类似于传统数据库的DataBase。阿里云大数据开发平台的项目空间是进行多组织隔离和访问控制的主要边界,也是用户管理表,资源,节点等的基本单元

任务:一个任务由一个或者多个节点以及执行次序关系的工作流组成,任务是一个静态概念,一个已经定义的任务可以多次执行,还可以为任务配置定时调度策略,任务分为节点任务和工作流任务两种

节点:是任务的子关系,可以是一个sqlquery,shell,虚节点等

依赖关系:是描述两个或者多个节点/任务之间的语义链接关系,其中上游可以影响下游

实例:节点在执行时会被实例化,并以ODPS实例形式存在,实例会经历未运行,等待时间,运行中,成功,失败等几个状态

1.2 平台大观


数据开发:是整个ODPS平台的核心应用,即DATAIDE,又称BASE,在这里可以进行任务调度,脚本开发,资源管理,自定义函数管理等

数据管理:这里包含了平台上的各个项目下的表,可以方便查询每个表的血缘关系,建表脚本,分区值等

运维中心:日常运维常用到的应用,可以进行补数据,查看节点日志,查看任务运行状况等

组织管理:成员管理,资源调配等

项目管理:项目管理管控,账号权限设置等

1.3 运维中心

运维中心主要面向运维角色,是日常运维的主要工具,主要分为运维概览,任务管理,任务监控三个模块

1.3.1 任务监控

Ø  查看任务完成情况,主要比对今天与昨天和历史平均水平的情况,如果三条曲线偏移过于厉害,需要检查是否有异常情况在某个时间段

Ø  任务运行情况

Ø  任务类型分布

Ø  任务数量趋势

Ø  任务时长


1.3.2 任务运维

Ø  任务管理视图:不带运行状态的任务视图,提供了可视化的任务依赖图,重跑任务,测试任务,查看操作日志等

Ø  任务运维视图:提供了可视化的任务实例依赖图,任务运行状态,任务重跑/终止,查看实例运行日志等

Ø  任务管理列表:不带运行状态的任务列表,可对任务资源组,责任人进行修改,添加报警,任务重跑等

Ø  任务运维列表:任务实例运行记录列表,可快速批量杀任务和重跑任务,统计任务执行情况,查看任务运行状态表

2 运维视图指南

2.1 任务管理视图


2.2 任务运维视图

说明

  运维:是指当工作流/节点任务达到启用调度所配置的周期性运行时间被自动调度起来的实例快照,每调度一次就生成一个实例

  测试:开发测试等测试操作都会生成

  补数据:通常异常情况,需要重新运行以前某个时段数据,对工作流和节点定义执行补数据会产生此类实例

2.3 任务管理列表

2.4 任务运维列表

一般情况下我们只需要用到第四个模块:任务运维列表,在这里重跑任务,查看任务状态情况等,如需要批量补数据则去第一个模块,在相应的节点下点击补数据即可

日常运维指南

3.1 任务日常运维

运维工程师每天将记录增量任务和Ogg的情况,并上传至svn


3.2 dataX增量任务日常运维

对于增量同步失败的任务,由于dsv源数据文件存在乱码或者源端增减字段的原因,直接重跑可能还是会失败,所以,需要通过查看任务的执行日志分析出具体的失败原因,大概的步骤流程是,通过阿里云大数据开发平台定位出增量任务的执行节点,然后远程登录该节点,查看失败日志,分析出失败原因,如下图案例所示:

Ø  在运维中心的任务运维列表中搜索出当天执行失败的任务,点开操作下拉框,点击日志:

Ø  在新开的页面中,注意下图红框位置的日志,此处说明了任务的执行节点位于机器,通过xshell远程登录该机器

Ø  如下图所示,日志存放目录位于xxx,根据任务执行日期,进入相应的目录

Ø  如下图,编辑具体的失败日志,可清晰看到该任务的失败原因

Ø  根据失败原因,再到文档服务器查看源数据文件

3.3 OGG增量任务日常运维

Ø  通过堡垒机登录到OGG所在系统,进入OGG目录,使用命令./ggsci进入ogg操作界面,如下图所示。Status状态为RUNNING表示进程运行正常。

 

Ø  进入OGG目录,使用命令tail -200f ggserr.log查看ogg日志最后两百行,检查日志显示是否正常。

Ø OGG 进程失败处理过程

1.      在ogg操作界面,进程的状态为ABENDING表示进程异常停止,需要手动处理。

2.      针对异常的进程,使用命令”view report 进程名”或者ogg日志ggserr.log 进行查看具体报错信息,并根据报错信息进行更正修改。

3.      进程修改后,使用命令”start 进程名” 开启进程,并使用命令”info 进程名”查看进程的变化状态,进程的状态变为RUNNING并RBA有变化表示进程恢复正常。



结语:ODPS平台运维大致就是以上,至于后续的base调度,提交创建发布包等等后续会补上。阿里的产品不限于ODPS和datax,后续的HybirdDB,DRDS,ADS等等都是很好的产品,大家可以多多了解,掌握使用方法,掌握运行原理,掌握整个世界

猜你喜欢

转载自blog.csdn.net/mochou111/article/details/80829903