更新时间:2024-11-29 GMT+08:00

ALM-17003 Oozie服务不可用

告警解释

系统每5秒周期性检测Oozie服务状态,当Oozie或者Oozie所依赖的组件无法正常提供服务时,系统产生此告警。

当Oozie服务恢复可用状态时,告警自动消除。

告警属性

告警ID

告警级别

告警类型

业务类型

是否可自动清除

17003

紧急

处理错误告警

Oozie

告警参数

类别

参数名称

参数含义

定位信息

来源

产生告警的集群名称。

服务名

产生告警的服务名称。

角色名

产生告警的角色名称。

主机名

产生告警的主机名。

附加信息

Details

对告警信息的补充。

对系统的影响

无法使用Oozie服务调度任务。

可能原因

  • DBService服务异常或者Oozie存储在DBService中的数据遭到破坏,导致Oozie服务不可用。
  • HDFS服务异常或者Oozie存储在HDFS中的数据遭到破坏时,导致Oozie服务不可用。
  • Yarn服务异常,导致Oozie服务不可用。
  • Nodeagent进程故障,导致Oozie服务不可用。

处理步骤

查询Oozie服务健康状态码。

  1. 在FusionInsight Manager中,选择“集群 > 待操作集群的名称 > 服务 > Oozie”,单击“oozie WebUI”的“oozie”(两个任选一个),进入Oozie WebUI页面。

    admin用户默认不具备其他组件的管理权限,如果访问组件原生界面时出现因权限不足而打不开页面或内容显示不全时,可手动创建具备对应组件管理权限的用户进行登录。

  2. 在浏览器地址栏的URL地址后追加“/servicehealth”重新访问,“statusCode”对应的值即为当前Oozie的服务健康状态码。

    例如,在浏览器中访问“https://10.10.0.117:20026/Oozie/oozie/130/oozie/servicehealth”,显示结果为:

    {"beans":[{"name":"serviceStatus","statusCode":0}]}

    如果无法查询出健康状态码或者浏览器一直无响应,可能是由于Oozie进程故障导致服务不可用,请参考13进行处理。

  3. 根据查询到的错误码执行相关处理步骤,请参考表1

    表1 Oozie服务健康状态码一览表

    状态码

    错误描述

    错误原因

    处理步骤

    0

    服务正常

    18002

    DBService服务异常

    Oozie连接DBservice失败或者存储在DBService中的数据遭到破坏

    请参考4

    18003

    HDFS服务异常

    Oozie连接HDFS失败或者存储在HDFS中的数据遭到破坏

    请参考7

    18005

    Mapreduce服务异常

    Yarn服务异常

    请参考11

检查DBService服务。

  1. 在FusionInsight Manager界面,选择“集群 > 待操作集群的名称 > 服务”,检查DBService服务当前状态是否正常。

    • 是,执行6
    • 否,执行5

  2. 参考DBService服务的相关告警帮助进行处理,然后查看本告警是否恢复。

    • 是,处理完毕。
    • 否,执行18

  3. 登录Oozie数据库检查数据是否完整。

    1. root用户登录DBService主节点

      在FusionInsight Manager界面,选择“集群 > 待操作集群的名称 > 服务 > DBService > 实例”,即可查看DBService主节点IP地址信息。

    2. 执行以下命令登录Oozie数据库。

      su - omm

      source ${BIGDATA_HOME}/FusionInsight_BASE_8.1.0.1/install/FusionInsight-dbservice-2.7.0/.dbservice_profile

      gsql -U 用户名-W Oozie数据库密码 -p 20051 -d 数据库名称

    3. 登录成功后,输入\d,检查数据表是否共有15张。

      Oozie服务默认有15张数据表,如果这些数据表被删除或者表结构被修改都可能导致Oozie服务不可用,请联系运维人员备份相关数据后进行恢复。

检查HDFS服务。

  1. 在FusionInsight Manager界面,选择“集群 > 待操作集群的名称 > 服务”,检查HDFS服务当前状态是否正常。

    • 是,执行9
    • 否,执行8

  2. 参考HDFS服务的相关告警帮助进行处理,然后查看本告警是否恢复。

    • 是,处理完毕。
    • 否,执行18

  3. 登录HDFS检查Oozie文件目录是否完整。

    1. 下载并安装HDFS客户端。
    2. root用户登录客户端所在节点,执行以下命令,检查“/user/oozie/share”路径是否存在

      如果集群采用安全版本,要进行安全认证。

      kinit admin

      hdfs dfs -ls /user/oozie/share

    • 是,执行18
    • 否,执行10

  4. 在Oozie客户端安装目录中手动将share目录上传至HDFS的“/user/oozie”路径下,检查告警是否恢复。

    • 是,处理完毕。
    • 否,执行18

检查Yarn/Mapreduce服务。

  1. 在FusionInsight Manager界面,选择“集群 > 待操作集群的名称 > 服务”,检查Yarn、Mapreduce服务当前状态是否正常。

    • 是,执行18
    • 否,执行12

  2. 参考Yarn、Mapreduce服务的相关告警帮助进行处理,然后查看本告警是否恢复。

    • 是,处理完毕。
    • 否,执行18

检查Oozie进程。

  1. root用户分别登录Oozie服务两个节点

    在FusionInsight Manager界面单击“集群 > 待操作集群的名称 > 服务 > Oozie > 实例”,即可查看服务所在节点的IP地址信息。

  2. 执行命令ps -ef | grep oozie,检查Oozie进程是否存在。

    • 是,执行15
    • 否,执行18

  3. 分别检查和收集Oozie日志目录“/var/log/Bigdata/oozie”中的prestartDetail.log、oozie.log、catalina.out里的异常信息,确认非人为误操作导致的问题后,执行16

检查Nodeagent进程。

  1. root用户分别登录Oozie服务两个节点。执行命令ps -ef | grep nodeagent,检查Nodeagent进程是否存在。

    • 是,执行17
    • 否,执行18

  2. 执行kill -9 查询到的nodeagent进程ID命令,等待10分钟后,检查本告警是否恢复。

    • 是,处理完毕。
    • 否,执行18

  3. 请联系运维人员,并发送已收集的故障日志信息。

告警清除

此告警修复后,系统会自动清除此告警,无需手工清除。

参考信息

不涉及。