JindoDistCp使用CMS进行告警§
JindoDistCp(分布式文件拷贝工具)是用于大规模集群内部和集群之间拷贝文件的工具。使用MapReduce实现文件分发,错误处理和恢复,把文件和目录的列表作为map/reduce任务的输入,每个任务会完成源列表中部分文件的拷贝。
CMS(云监控服务),可用于收集阿里云资源的监控指标或用户自定义的监控指标,探测服务可用性,以及针对指标设置警报。使您全面了解阿里云上资源的使用情况和业务运行状况,并及时对故障资源进行处理,保证业务正常运行。
您可以指定本次JindoDistCp任务结束后是否需要开启CMS,以上报任务失败信息,并使用CMS控制台来配置告警功能。告警条件参见告警任务计数器。
步骤§
1. 创建报警联系人和报警联系组§
具体请参考文档《创建报警联系人或报警联系组》
2. 获取报警Token§
点击左侧导航栏“报警服务”->"报警联系人"->切换上测页签到"报警联系组"->选择对应的报警联系组->点击右侧接入外部报警
查看 报警服务调用地址
的内容,获取token=
之后&
之前的内容。
示例:如下可获得 cmsToken 为 XXXX
:
https://metrichub-cms-cn-hangzhou.aliyuncs.com/event/notify?token=XXXX&level=CRITICAL
3. 配置环境变量§
环境变量 | 说明 |
---|---|
cmsAccessKeyId | 设置账号对应AccessKey ID |
cmsAccessSecret | 设置账号对应Access Key Secret |
cmsRegion | 设置CMS所在Region,需要与其他相关的云上资源一致,例如ECS,OSS,EMR所对应的Region |
cmsLevel | 设置标识告警通知方式,如果未设置,默认为WARN。INFO为邮件+钉钉机器人,WARN为短信+邮件+钉钉机器人,CRITICAL为电话+短信+邮件+钉钉机器人 |
示例如下
export cmsAccessKeyId=<your_key_id>
export cmsAccessSecret=<your_key_secret>
export cmsRegion=cn-hangzhou
export cmsToken=<your_cms_token>
export cmsLevel=WARN
4. 开启CMS对失败任务进行告警§
copy操作§
hadoop jar jindo-distcp-tool-${version}.jar \
--src /data/incoming/hourly_table \
--dest oss://example-oss-bucket/hourly_table \
--enableCMS
diff操作§
hadoop jar jindo-distcp-tool-${version}.jar \
--src /data/incoming/hourly_table \
--dest oss://example-oss-bucket/hourly_table \
--diff \
--enableCMS
update操作§
hadoop jar jindo-distcp-tool-${version}.jar \
--src /data/incoming/hourly_table \
--dest oss://example-oss-bucket/hourly_table \
--update \
--enableCMS
告警内容§
告警内容格式§
{
"JobTime": "2021-03-09 19:45:27~2021-03-09 19:45:28",
"SrcPath": "hdfs://cluster-xxx:9000//data/incoming/hourly_table",
"DestPath": "oss://example-oss-bucket/hourly_table",
"Counter": {
"COUNTER_1": XXX,
"COUNTER_2": XXX,
...
}
}
...
告警任务计数器§
告警内容中的counter计数器有以下几种:
copy操作§
任务计数器 | 说明 |
---|---|
COPY_FAILED | copy失败的文件数,不为0时告警 |
CHECKSUM_DIFF | checksum校验失败的文件数,并计入COPY_FAILED |
FILES_EXPECTED | 预期的copy文件数量 |
FILES_COPIED | copy成功的文件数 |
FILES_SKIPPED | update增量更新时跳过的文件数 |
BYTES_SKIPPED | update增量更新时跳过的字节数 |
diff操作§
任务计数器 | 说明 |
---|---|
DIFF_FILES | 不相同的文件数,不为0时告警 |
SAME_FILES | 经校验完全相同的文件数 |
DST_MISS | 目标路径不存在的文件数,并计入DIFF_FILES |
LENGTH_DIFF | 源文件和目标文件大小不一致的数量,并计入DIFF_FILES |
CHECKSUM_DIFF | checksum校验失败的文件数,并计入DIFF_FILES |
DIFF_FAILED | diff操作异常的文件数,具体报错参见job日志 |