九象(Sky DataPilot)-logo
云市场服务保障
*请勿线下交易!90%的欺诈、纠纷、资金盗取均由线下交易导致。

商品介绍

产品亮点

Sky DataPilot 集成了贝联珠贯独特的大数据任务优化技术,在保证任务稳定运行的前提下,自动化的提升任务执行效率,提升集群使用效率或降低成本30%以上。

产品说明

产品简介

Sky DataPilot 是一站式大数据集群和任务的监控、告警、诊断、运维以及自动化任务优化平台,全面兼容 CDH、HDP、华为云 MRS 等主流大数据平台,适配主流大数据任务引擎(MapReduce、spark、tez、impala)。实现大数据集群和任务的可视化监控、诊断建议、任务自动优化等,从而提高大数据集群运维效率,提升集群和任务稳定性。

系统架构(注:上图黄色背景模块对应大数据任务自动优化和告警推送功能,属于商业版本功能。)

主要功能

  • 大数据任务和集群建模
  • 大数据任务分析诊断
  • 大数据任务优化预估
  • 大数据任务自动优化
  • 大数据任务引擎自动升级
  • 大数据任务和集群监控告警
  • HDFS 集群存储治理
  • HIVE 表冷热数据扫描


安装与启动

Sky DataPilot 产品部署包含了服务端客户端两个部分

  • 服务端:数据采集、分析、决策、诊断、告警等核心功能。
  • 客户端:
  • hook:部署在客户大数据任务提交网关节点的客户端,核心功能是任务优化
  • agent:部署在客户任意一个有 HDFS 客户端节点,核心功能是 HDFS 集群存储治理

服务端部署

Sky DataPilot 正常运行需要开放如下网络端口,管理员可根据实际环境要求,在网络侧开放相关端口。

 

组件

默认端口

说明

hbo-pc

80

前端服务,浏览器访问端口

clickhouse

8123
9009

数据采集存储服务

mysql

3306

后端数据存储服务

lcc-hbo

8077

后端核心服务,为前端页面和 hook 提供接口

部署 Sky DataPilot 节点和大数据集群网络要求

  1. 大数据集群的所有主机可以访问到服务端主机80端口:http://{HOST_IP}:80(注:{HOST_IP}为服务端主机IP)
  1. 服务端主机能够访问要采集的任务类型的 history 服务

docker compose 部署

部署服务器要求

  1. 操作系统:linux(x86_64架构),推荐CentOS 7.9
  1. 部署机器规格

集群日均任务数

CPU需求

内存需求

数据存储需求(SSD)

< 1K

4C

8G

100G

1K < 任务数 < 1W

8C

16G

200G

1W < 任务数 < 5W

8C

16G

300G

5W < 任务数 < 10W

8C

32G

500G

10W < 任务数

16C

32G

500G以上

  1. 系统时区检查

Bash
# 检查系统时区是否为东八区,如果不是东八区需要手动修改
ll /etc/localtime
lrwxrwxrwx. 1 root root 35 Oct 13  2023 /etc/localtime -> ../usr/share/zoneinfo/Asia/Shanghai

部署流程

  1. 获取服务端安装包

Bash
# 免费版
sudo mkdir -p /opt/lcc;cd /opt/lcc;sudo wget http://lcc-sky-datapilot.oss-cn-hangzhou.aliyuncs.com/server/server-community-latest.zip
# 商业版
sudo mkdir -p /opt/lcc;cd /opt/lcc;sudo wget http://lcc-sky-datapilot.oss-cn-hangzhou.aliyuncs.com/server/server-latest.zip

  1. 解压安装包

Bash
sudo unzip server-xx.zip
# 解压后目录包含以下内容,分别是 docker 二进制安装包、docker-compose 二进制文件、Sky DataPilot 部署配置文件目录、Sky DataPilot 服务镜像文件
$ ll
docker-23.0.2.tgz
docker-compose
optimizer-etc
optimizer_images.tar

  1. 部署docker

如果已存在 docker ,且 docker api version >= 1.4.1,可跳过该步骤

Bash
# 解压 docker 二进制文件
sudo tar xzvf docker-23.0.2.tar.gz
# 将二进制文件移动到可执行路径上的目录,例如/usr/bin/
sudo cp docker/* /usr/bin/
# 启动 Docker 守护进程
sudo dockerd &
# 查看 docker 版本,确认 docker 服务拉起
sudo docker version

  1. 部署docker-compose

如果已存在 docker-compose ,可跳过该步骤

Bash
# 将二进制文件移动到/usr/local/bin/
sudo cp docker-compose /usr/local/bin/docker-compose
# 更改权限
sudo chmod +x /usr/local/bin/docker-compose
# 查看 docker-compose 版本,确认生效
sudo docker-compose --version

  1. 导入镜像

Bash
sudo docker load -i optimizer_images.tar

  1. 配置mysql和clickhouse存储

Bash
# 编辑optimizer-etc目录下docker-compose.yaml文件
# 配置mysql挂载目录
  mysql:
    # 省略...
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - ./mysql-init/:/docker-entrypoint-initdb.d/
      # 修改 MYSQL_DATA_PATH 为自定义 mysql 存储目录
      - MYSQL_DATA_PATH:/var/lib/mysql/
      - ./etc/my.conf:/etc/my.cnf

# 配置clickhouse挂载目录
  clickhouse:
    # 省略...
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - ./etc/users.xml:/etc/clickhouse-server/users.xml
      - ./etc/disable_metric_log.xml:/etc/clickhouse-server/config.d/disable_metric_log.xml
      # 修改 CLICKHOUSE_DATA_PATH 为自定义 clickhouse 存储目录
      - CLICKHOUSE_DATA_PATH:/var/lib/clickhouse
      - ./clickhouse/log/:/var/log/clickhouse-server/

  1. 启动/关停服务端

Bash
cd optimizer-etc
# 启动
sudo docker-compose -f docker-compose.yaml up -d
# 停止
sudo docker-compose -f docker-compose.yaml down

  1. 访问前端

部署成功后,通过浏览器访问以下地址,输入用户名和密码,即可开始使用 Sky DataPilot。

Bash
地址: http://服务器IP地址:80
默认用户名: admin
默认密码: Lccadmin.

  1. 获取 license 并激活服务

Sky DataPilot 分为两个版本:免费版和商业版,版本区别可访问官网查看

免费版:填写免费版 license 申请表单 申请免费版本 license,申请完成后邮箱会收到一份 license 文件。

商业版:填写商业版试用申请,我们会在第一时间联系您。

在 Sky DataPilot 产品前端许可证注册页面将 license 文件上传,扫码后输入验证码激活服务。

hook 部署

  • 仅 spark-submit、pyspark、spark-sql、hive on spark、hive on tez 任务需要进行hook部署。
  • hook 需要部署在大数据任务提交的网关节点(即部署有任务提交客户端,且从该节点发起任务提交请求的节点),通常会有多个网关节点,可以灰度部署部分网关节点,部署并验证完成后可以在全部网关节点部署。

获取hook

Hook 分为两个版本:免费版和商业版,功能区分和服务端保持一致。

免费版本:

商业付费版本:

  • 填写商业版试用申请,我们会在第一时间联系您。

部署流程

免费版

  1. 解压并上传

Bash
cd /opt
unzip hook-community-latest.zip
chmod -R +r hook-community

  1. 配置(以下设置值中的 hbo-pc-host 需要被替换为服务端部署机器的 IP 地址)
  1. Spark(包括spark-submit、spark-sql、pyspark、hive on spark 任务)

Bash
# 在spark-env.sh中添加下面脚本
if [[ -e "/opt/hook-community/spark/lcc-hook-agent-spark-1.0.jar" && ! "${SPARK_SUBMIT_OPTS}" =~ "-javaagent:/opt/hook-community/spark/lcc-hook-agent-spark-1.0.jar" ]]; then
  export lcc_hbo_server_urls=http://hbo-pc-host
  export SPARK_SUBMIT_OPTS="${SPARK_SUBMIT_OPTS} -javaagent:/opt/hook-community/spark/lcc-hook-agent-spark-1.0.jar"
fi

  1. Hive on Tez(如果是通过 hiveserver2 提交,请修改 hiveserver2 的配置然后重启 hiveserver2 )

Bash
# 修改hive-env.sh
lcc_hbo_server_urls=http://hbo-pc-host
HADOOP_OPTS="$HADOOP_OPTS $([[ -e "/opt/hook-community/tez/lcc-hook-agent-hive-1.0.jar" && ! "${HADOOP_OPTS}" =~ "-javaagent:/opt/hook-community/tez/lcc-hook-agent-hive-1.0.jar" ]] && echo '-javaagent:/opt/hook-community/tez/lcc-hook-agent-hive-1.0.jar')"

agent部署

agent 核心功能是为 HDFS 存储治理以及 HIVE 表冷热数据扫描服务的客户端工具,如果需要使用到上述功能,需要安装 agent。

前置条件

  • 部署节点:可独立部署在有客户端的客户机上也可部署在服务端上
  • 服务器规格:
  • CPU&内存:至少1核2G  
  • 磁盘:>= 20G(SSD/ HDD 均可)
  • 操作系统:linux(x86_64架构),推荐CentOS 7.9 java版本8及以上
  • lcc-agent 安装后 cgroup 默认限制2G内存,按照执行任务的并发情况适当调整,调整位置为/etc/systemd/system/lcc-agent.service
  • 网络及客户端要求   ✔️代表当前功能需要    ○代表按需可选

产品功能与大数据服务要求

小文件优化

冷热数据优化

跟hivemetastore网络打通

✔️

✔️

跟metasote-mysql网络打通

✔️

 

跟namenode网络打通

✔️

✔️

访问HDFS客户端

✔️

访问hive客户端

✔️

✔️

部署安装及启动

Bash
sudo wget http://lcc-sky-datapilot.oss-cn-hangzhou.aliyuncs.com/agent/agent-community-latest.rpm
# 安装
sudo rpm -ivh agent-community-latest.rpm
#查询软件包的详细信息
sudo rpm -qi lcc-agent
#卸载
sudo rpm -e lcc-agent
#升级
sudo rpm -Uvh lcc-agent-*.rpm
# 修改配置参数
sudo vim  /etc/lcc-agent/lcc-agent.toml
#修改[hboServerParam].addr 修改为服务端地址 eg:10.80.98.144:80
sudo service  lcc-agent start
# 重启服务 service  lcc-agent restart
# 停止服务 service  lcc-agent stop
# 查看日志 /var/lib/lcc-agent/lcc-agent.log

观察日志/var/lib/lcc-agent/lcc-agent.log是否有ERROR,如正常跟服务端连接成功则正常启动。


初始化设置

配置引导

服务端部署完成并激活后,需要进行一些基础的配置,保证功能能够正常运行,点击页面前往配置。

数据采集

从进入配置入口页面后,首先需要配置的就是采集配置,数据采集作为整个服务的数据起点,合理配置采集任务是后续监控、分析、运维、优化的关键,建议按照配置引导逐步配置采集任务,下面介绍采集核心配置参数。

配置项

默认值

说明

备注

collector.tasks

 

Bash
- cluster.name: "default"
  enable.collect.yarn.app: true
  spark.history: "http://127.0.0.1:28085#2.4.0;http://127.0.0.1:28081#1.6.1"
  mr.history: "http://127.0.0.1:19888"
  yarn.app.list.primary: "http://127.0.0.1:8088/ws/v1/cluster/apps"
  yarn.app.list.backup: "http://127.0.0.1:8089/ws/v1/cluster/apps"

 

该配置项是数据采集的核心配置,格式为 yaml 数组(支持配置采集多个集群的数据),数组中每个对象为一个采集集群的信息,每个集群配置详细配置如下:
cluster.name:采集集群名称
enable.collect.yarn.app:是否从 yarn resource manager 采集 yarn app 信息(该配置默认为true,不建议关闭)
spark.history:spark history server 地址,支持配置多个spark history server 地址(主要是兼容一个 yarn 集群存在多个 spark history 服务的场景)
mr.history:MapReduce job history 地址
yarn.app.list.primary:yarn resource manager 主节点采集地址
yarn.app.list.backup:yarn resource manager 从节点采集地址
yarn.app.list.backup.list:适配有多个从节点 resource manager 的场景,多个节点地址使用英文逗号分隔
hadoop.provider:适配华为云 mrs 采集队列信息的配置,如果使用的是华为云 mrs,又需要分析队列信息,可以在该配置项填写:HuaweiMRS

注意:

  1. http 地址需要使用具体的 IP 地址,因为部署方式的原因,服务内部无法通过域名或者主机名访问被采集的服务。
  1. 由于 spark history server 不同版本接口返回值有差异,我们支持了多个 spark history server 版本的采集,需要在 spark history server 地址后使用#{VERSION}指定版本,当前支持的版本有:
    1.6.0/1.6.1/2.1.0/2.2.0/2.3.2/2.4.0/2.4.8/3.1.2/3.2.1
    如果版本不在上述列表,取向下最近版本即可,例如spark history 的版本是2.4.5,填写为2.4.0即可。
  1. 如果不需要某种引擎任务的采集可以使用默认的初始化配置,但是如果开启了该引擎类型任务采集则必须正确填写该引擎类型对应的 history 的地址配置信息。

enable.collect.spark

true

是否开启 spark 任务的采集

 

enable.collect.mr

true

是否开启 mr 任务的采集

 

enable.collect.tez.metrics

true

是否开启 tez 任务的采集

 

enable.collect.yarn.running.app

false

是否开启运行时 yarn app 的采集

 

enable.collect.impala.collector

false

是否开启 impala 任务的采集

 

enable.collect.impala.collector.coordinator

false

是否开启 impala coordinator 的采集

 

impala.collector

YAML
impala.collector.daemon
impala.collector.port
impala.collector.limit:500
impala.collector.hours:24

 

impala.collector.daemon:任意一个 impala daemon 的地址

impala.collector.port:impala daemon 的端口

impala.collector.limit:每轮采集最大条目数

impala.collector.hours:每轮采集读取当前时间多久以前的数据,默认24小时

 

enable.kerberos.check

false

被采集的系统是否开启了 kerberos 鉴权

 

principal

 

填写当前已有的 kerberos principle,格式:HTTP@xx.COM.CN

 

keytab

 

在服务端部署机器执行,keytab 文件地址需要替换对应位置
xxd -ps -c0 /etc/security/keytabs/spnego.headless.keytab | tr -d '\n'
执行完成将输出内容复制到该字段。

 

kdc.conf

 

将 krb5.conf 文件内容复制,确认以下配置,没有则添加,将修改后内容复制到该字段。

Bash
dns_lookup_realm false
false dns_lookup_kdc true

 

 

存储治理

该配置仅需在使用小文件治理时配置,如不需要可跳过,具体配置可参考:操作指南>集群>小文件治理章节。

常见问题

数据采集

  • 如果被采集的服务只能通过主机名或访问,可以为 collect-server 服务 container 添加 host 映射,挂载 host 到 container 内 /etc/hosts
  • 编辑 docker-compose.yaml 文件
  • 在 collect-server 服务下,按如下格式添加需要的映射。

Shell
    extra_hosts:
        - "cdh-master:10.10.81.1"
        - "cdh-slave01:10.10.81.2"
        - "cdh-slave02:10.10.81.3"
        - "cdh-slave03:10.10.119.136"
        - "cdh-slave04:10.10.119.137"

例如:


首页

首页展示的是集群任务的完成、资源使用和任务优化以及告警相关的摘要和趋势。

概览

  • 预计收益率/收益率:
  • 免费版:展示最近7天全部任务的内存预计收益率(预计收益率=(原始内存使用量-预估优化后内存使用量)/原始内存使用量*100%)以及各个引擎在整个收益中的占比。
  • 商业版:展示最近7天全部任务的内存实际收益率(实际收益率=(原始内存使用量-实际优化后内存使用量)/原始内存使用量*100%)以及各个引擎在整个收益中的占比。
  • 任务异常数:近7天任务执行经过诊断后有异常,可优化的任务数的变化曲线,具体异常信息可以查看任务执行列表。
  • 任务告警量:近7天任务告警数量。

任务相关

  1. 小时完成数:展示今天、昨天和过去一周平均的从零点到当前所在小时之间每个小时完成的任务数分布和趋势,x轴代表时间整点,y轴表示截止到x轴整点对应的前一个小时内所有完成的任务数。
  1. 累计完成数:展示今天、昨天和过去一周平均的从零点到当前所在小时之间每个小时累计完成的任务总数分布和趋势,x轴代表时间整点,y轴表示截止到前x个小时内所有完成的任务总数。
  1. 队列排队情况:展示今天、昨天和过去一周平均的各个队列的任务排队情况,x轴表示时间,y轴表示在当前时间队列的排队任务数。
  1. 引擎资源内存占比分布:展示各类引擎(目前支持mr、tez、spark)近七天每天使用的内存资源占当天总的内存资源使用量的比。

优化相关(仅商业版)

  • 优化任务执行数:展示最近7天各类引擎任务的优化执行和非优化执行数量。
  • 优化执行收益:展示最近7天所有任务优化执行的时长变化比例、CPU收益、内存收益

告警相关

  1. 告警列表:展示告警组中业务组的最近10条告警。
  1. 业务组告警分布趋势:展示告警组中业务组的各个告警规则的告警趋势,x轴代表日期,y轴代表对应日期该组下各个告警规则的告警数量。
  1. 告警组统计:展示各个告警组的总的告警数量趋势,x轴代表日期,y轴代表对应对应日期各个告警业务组的总的告警数量。


任务

执行列表

执行列表支持展示5种引擎(MapReduce、spark、tez、impala、flink)任务的历史执行信息。可以根据app id、tez dag id、impala query id、job id、app name、队列、任务开始时间等过滤查询到对应引擎任务的执行记录,每条执行记录包含一些作业运行的摘要信息:

  1. Yarn Application ID:对应yarn上的application id,点击该id可以跳转到本次任务执行的优化分析页面。
  1. 任务id:同一个任务多次提交执行会被归一同一个任务,该 id 就是该任务的唯一识别号,点击该 id 可以跳转到该任务的详情页面。
  1. 作业开始、结束时间
  1. 诊断标签:经过诊断分析发现的异常问题的标签。
  1. 是否优化:本次作业执行是否进行参数优化(注:自动优化为商业版本功能,免费版本该字段值均为未优化)。
  1. 作业执行队列
  1. 等待以及运行时长
  1. CPU、内存、io使用量指标
  1. 任务最终状态

任务列表

任务列表可以根据任务类型、任务id、该任务最近一次执行的作业时间范围进行过滤查询任务。

批量操作任务(仅商业版)

在商业版本中,用户对任务进行批量打标签,并且可以批量将任务加入/移除 黑/白名单,在 Sky DataPilot 中可以通过黑白名单的方式控制灰度优化任务。具体灰度控制逻辑可参考当前页:任务设置章节。

  • 设置标签
  • 退出全局黑/白名单
  • 加入全局黑/白名单

点击任务 id 可以进入任务详情页面,页面包含了该任务历史执行的作业的详细信息,包括任务摘要信息和作业执行明细信息。

任务摘要包含:

  • 任务类型
  • 决策(仅商业版):点击可以查看该任务当前优化决策(具体调整了哪些配置参数)
  • 是否在全局黑/白名单(仅商业版):点击可添加/移除黑/白名单
  • 任务内容

作业执行明细包含:

  • 最近30天统计(包括:总执行次数、优化执行次数、失败执行次数、平均时长、最近运行时长优化、最近CPU使用量优化、最近内存使用量优化)
  • 作业执行时长变化趋势图
  • 作业等待时长变化趋势图
  • 作业CPU使用量变化趋势图
  • 作业内存使用量变化趋势图
  • 作业执行列表已经各执行详细信息

impala

impala query

展示impala 查询结果,包含了当前的查询是否有进行统计分析,

  • 执行数与时长统计
  • 总执行数:SQL 总执行个数
  • 统计信息有缺失的执行数:时段内如果有统计信息缺失的表的SQL个数
  • 总执行时长:时段内 SQL 的总执行时长
  • Query 执行列表
  • 基本信息:query_id、type、SQL语句、开始时间、结束时间、运行时长、查询结果集等信息。
  • 统计信息:本次查询供共查询了几张表,缺失统计信息的几张表,存在统计信息的几张表,内存/CPU/IO读写情况等数据。
  • 总执行时长

impala 资源池

展示 impala 资源池的统计信息,及不同资源池的分池数据统计。

当前资源池的 TotalMemory/PendingMemory/UsedMemory 等数据及任务超超时拒绝等情况。

小任务加速(仅商业版)

  • 待补充

优化分析

性能对比报告(仅商业版)

  • 待补充

优化收益预估

展示各个队列各个引擎分类的天粒度下内存使用量和收益预估值,以及该引擎和队列下收益预估 top 100的任务。

任务优化分析

对具体任务执行进行诊断(不同引擎诊断维度有差异),发现任务异常,具体包含:

  1. 任务基本信息
  1. 任务阶段统计信息
  1. 任务运行时长分析
  1. gc频率分析
  1. 资源使用分析

具体诊断指标说明:诊断指标说明

任务设置

任务设置页面包含:

  • 黑白名单模式(仅商业版):控制当前任务自动优化为哪种模式。
  • 任务指纹:控制任务 id 如何计算产生的一段 lua 脚本。
  • 优化规则(仅商业版):不同引擎对应支持的优化规则。

黑白名单模式(仅商业版)

  • 全局白名单模式:仅加入白名单的任务才会被优化。
  • 全局黑名单模式:仅加入黑名单的任务不会被优化,其余任务均会被优化。
  • 开启时间:控制开启优化的时间区间,可以全天开启,也可使用 cron 表达式,当开关为开启状态且任务满足全局黑白名单状态判断时,该任务才会被优化。 举例:假设配置为 cron 表达式:* 15-20 * * *,表示仅在每天15~21点之间任务会优化,如果当前为全局黑名单模式,那么在15~21点之间所有任务都会被优化,如果是全局黑名单模式,那么在15~21点之间且任务加入白名单的任务会优化。

任务指纹

任务指纹管理的是如何计算生成任务 id 的一段 lua 脚本代码,产品初始了一个比较通用的计算任务 id 的代码版本,可以查看、编辑、启用任务指纹,在编辑指纹时可以在页面进行调试,看是否与期望值匹配。

任务指纹定义的是任务 id 如何计算的过程,与之紧密配合的是系统配置中 hook 配置项:lcc.hbo.job.uid.keys 的配置,该配置集群字段对应有 hadoop、spark、tez、impala 四种引擎,该配置定义的是任务 id 指纹计算 lua 脚本的入参,后台服务会根据入参定义尝试从作业运行的信息中获取到这些信息,将这些数据和引擎类型作为入参调用任务指纹脚本,从而产生一个全局唯一的任务id。

如果系统内置的 lcc.hbo.job.uid.keys 和指纹脚本不满足需求(比如:多个逻辑上认为是不同任务的作业归一到了同一个任务,或者逻辑上认为是同一个任务的作业归一到了不同的任务),可以调整 lcc.hbo.job.uid.keys 或者指纹脚本以满足归一准确的需求。当编辑完任务指纹后,新的计算逻辑便会生效,如果变更后的计算逻辑影响到了之前的任务id计算逻辑,那么这些任务就产生新的id,旧的任务id会被弃用。

商业版本

在商业版本中支持添加多个任务指纹,同一时刻只能有一个指纹生效,当新增指纹后如果想使指纹生效,可以点击启用该指纹,当点击启用后,旧版的指纹便会失效,新的指纹规则开始生效,并且后台服务会对历史任务进行一次重刷,将历史任务的 id 按照新的 lua 脚本计算规则重新进行一次计算并赋值(该操作比较消耗性能,不建议在大数据量情况下操作,可以考虑直接修改当前版本指纹,影响是历史任务和优化决策会失效,需要重新走一轮采集、决策的过程)。

优化规则(仅商业版)

优化规则内置了我们当前支持的所有引擎的优化规则,默认情况下所有的规则都是关闭状态,如果需要对某个引擎任务进行某种规则优化,可以开启该规则。除了开启/关闭规则,每个规则还有配置、规则名单、决策详情三种可操作项。

  • 配置:针对规则的参数调整,属于较高阶配置,通常情况下不需要对规则参数进行调整
  • 规则名单:在规则层级对任务是否进行优化进行控制,全局黑白名单控制的是任务粒度是否开启优化,而规则名单可以在规则层面控制该规则对任务是否生效。规则名单同样有黑/白名单两种模式,名单设置可以根据队列名称设置,也可以通过任务 id 设置,同一时刻只能队列或者任务 id 二选一配置。
  • 决策详情:可以查看该规则的决策率(该规则所属引擎生成决策的任务数/该规则所属引擎任务总数*100%)和决策执行率(使用该规则生成决策的任务数/任务总数*100%)

重新决策

当修改了优化规则配置后,如果想更新历史决策,需要在页面点击重新决策按钮,可以选择根据最近多少天的数据进行重新决策。

 


诊断指标说明

引擎

诊断维度

诊断类型

类型说明

MapReduce

数据分析

输入数据波动异常

与任务上次执行相比输入数据量变化率过大

输入数据量异常

与任务上次执行相比输入数据量值变化过大

数据倾斜

map 或 reduce 阶段中最大读写 task 与中位读写 task 比值过大

数据膨胀

写数据量与读数据量比值过大

内存分析

内存浪费

(申请内存-实际使用内存)/申请内存 比例过大

预留内存异常

预留内存值过大

已分配内存异常

已分配内存过大

任务占用队列内存异常

任务占用队列内存比例过大

CPU分析

预留CPU异常

预留CPU过大

已分配CPU异常

已分配CPU过大

任务占用队列CPU异常

任务占用队列CPU比例过大

时长分析

等待时间异常

任务等待时间过长

运行时间变化量异常

与上次任务执行相比运行时间差值过大

运行时间变化率异常

与上次任务执行相比运行时间变化率过大

任务退出时间异常

Task 结束到任务真实退出时长过大

task 运行时间异常

Task 运行时间与任务运行时间比值过小

Task 调度时间异常

Task 开始时间-第一个container调度时间过大

Container 调度时间异常

第一个container调度时间-作业开始时间过大

大任务

任务执行时长过大

慢任务

本次任务执行与该任务近7天运行平均时长比值过大

长尾任务

Map 或 reduce 阶段中最长 task 与中位时长 task 比值过大

失败分析

长期失败

近7天执行全部失败

历史失败

近7天任务失败率过高

本次失败

本次执行失败

有失败重试

Map 或 reduce Task 有失败

tez

 

数据分析

输入数据波动异常

与任务上次执行相比输入数据量变化率过大

输入数据量异常

与任务上次执行相比输入数据量值变化过大

内存分析

内存浪费

(申请内存-实际使用内存)/申请内存 比例过大

OOM预警

GC时间占比任务运行时间过大

时长分析

运行时间变化量异常

与上次任务执行相比运行时间差值过大

运行时间变化率异常

与上次任务执行相比运行时间变化率过大

大任务

任务执行时长过大

慢任务

本次任务执行与该任务近7天运行平均时长比值过大

长尾任务

Dag 中 Map 或 reduce 阶段中最长 task 与中位时长 task 比值过大

失败分析

长期失败

近7天执行全部失败

历史失败

近7天任务失败率过高

本次失败

本次执行失败

有失败重试

Tez dag 有失败

spark

数据分析

输入数据波动异常

与任务上次执行相比输入数据量变化率过大

输入数据量异常

与任务上次执行相比输入数据量值变化过大

数据倾斜

Stage 阶段最大 shuffle 记录数与中位数 shuffle 记录数比值过大

数据膨胀

写数据量与读数据量比值过大

内存分析

内存浪费

(申请内存-实际使用内存)/申请内存 比例过大

已分配内存异常

已分配内存过大

任务占用队列内存异常

任务占用队列内存比例过大

OOM预警

GC时间占比任务运行时间过大

CPU分析

CPU浪费

(申请CPU-实际使用CPU)/申请CPU 比例过大

已分配CPU异常

已分配CPU过大

任务占用队列CPU异常

任务占用队列CPU比例过大

时长分析

等待时间异常

任务等待时间过长

运行时间变化量异常

与上次任务执行相比运行时间差值过大

运行时间变化率异常

与上次任务执行相比运行时间变化率过大

任务退出时间异常

Task 结束到任务真实退出时长过大

task 运行时间异常

Task 运行时间与任务运行时间比值过小

Task 调度时间异常

Task 开始时间-第一个container调度时间过大

Container 调度时间异常

第一个container调度时间-作业开始时间过大

大任务

任务执行时长过大

慢任务

本次任务执行与该任务近7天运行平均时长比值过大

长尾任务

最长 task 与中位时长 task 比值过大

失败分析

长期失败

近7天执行全部失败

历史失败

近7天任务失败率过高

本次失败

本次执行失败

有失败重试

Stage 有失败

impala

数据分析

输入数据波动异常

与任务上次执行相比输入数据量变化率过大

输入数据量异常

与任务上次执行相比输入数据量值变化过大

数据膨胀

写数据量与读数据量比值过大

内存分析

内存浪费

(申请内存-实际使用内存)/申请内存 比例过大

时长分析

等待时间异常

任务等待时间过长

运行时间变化量异常

与上次任务执行相比运行时间差值过大

运行时间变化率异常

与上次任务执行相比运行时间变化率过大

大任务

任务执行时长过大

慢任务

本次任务执行与该任务近7天运行平均时长比值过大

失败分析

长期失败

近7天执行全部失败

历史失败

近7天任务失败率过高

本次失败

本次执行失败

有失败重试

Query 有失败

flink

内存分析

内存浪费

(申请内存-实际使用内存)/申请内存 比例过大

已分配内存异常

已分配内存过大

CPU分析

CPU浪费

(申请CPU-实际使用CPU)/申请CPU 比例过大

时长分析

真实运行时间异常

真实运行时间与任务运行时间比值过小

Jm pending时间异常

Jm pending时间过长

tm pending时间异常

Tm pending时间过长

失败分析

长期失败

近7天执行全部失败

历史失败

近7天任务失败率过高

本次失败

本次执行失败

有失败重试

任务有失败

 


同步自文档: https://lccomputing.feishu.cn/docx/IwVrdiNANoMba5xZFnEcvWDBn6d#ERkQdG3pusGA2obFIJVcWTmpnlc


集群

队列分析

显示接入系统 yarn 集群的 CPU/内存资源的使用情况,用于排查当前集群资源 CPU/内存资源是否到达瓶颈,根据不同的队列资源情况观察是否因某个或某些队列的资源设置不合理导致性能利用不合理。

  • 所有队列:显示不同时间点的yarn集群的 TotalCPU/PendingCPU/xxx队列UsedCPU/TotalMemory/PendingMemory/xxx队列UsedMemory,可用来观察集群整体的 pending 情况及是否存在 CPUPending 但 Memory 空闲, MemoryPending 但 CPU 空闲的情况。
  • 指定队列:yarn集群中不同队列的信息展示,包括当前队列 的maxCPU/maxMem/minCPU/minMem/pendingCPU/pendingMem/totalCPU/totalMem/usedCPU/usedMem 等指标,主要用来观察当前队列是否存在因 MaxMem/MaxCPU 导致的 pending 情况。
  • 队列信息:显示当前 yarn 集群的基本配置信息,如队列类型、SchedulingPolicy、Preemptable等信息。

小文件治理

显示当前接入的集群中 hive 表数据的小文件情况,包括小文件扫描和小文件合并两个功能,功能相互独立,可仅开启小文件扫描,观察小文件的情况是否很严重,再看不同的表情况再决定合并哪些表。

1. 开通小文件治理

未开通会有开通提示,请点击产品页面里的系统-系统配置-配置引导-管控配置

将 ops_table_scan_enable/ops_merge_file_enable 开启,请注意开通后并不会立即可用,需要在客户端安装 agent 方可使用,agent 安装参考安装与启动章节的 agent 部署部分

 

ops_table_scan_enable(是否开启小文件)

  • hive-metastore对应的MySQL相关配置,用来获取hive表的元数据
  • cron 定时(什么时间执行获取hive元数据)
  • hadoop_nameNode_address 用来获取的文件数信息,统计每日的文件数变化
  • hadoop是用来补充在hive-mysql 里可能缺失统计数据的表,通过hadoop fs -count 命令来补充
  • beeline相关参数为合并任务时使用的beeline客户端,用来提交合并任务

2. 产品功能

  • 概览:当前集群的hive表的统计信息,参见指标释义
  • Hive表小文件治理:展示当前扫描出的hive表数据,库名/表名/表存储量/文件数/文件平均大小/分区数/小文件分区数等数据用来辅助决策哪些表需要加入治理
  • 默认按照文件平均大小排序.操作有加入治理/移除治理/治理历史
  • 在进行小文件合并前需要配置小文件合并策略,其中执行队列为yarn队列的名称
  • 默认不治理7天内的使用数据,可按需修改,对非分区表不起作用,非分区表一次合并
  • hive治理的用户设置为hive最高权限的用户防止出现低权限用户合并不成功
  • 对于delta/hudi/iceberg/paimon及hive事务表暂不支持合并,扫描出此类表需要用户自己手动合并
  • 如hivemetastore开启权限验证,则需要修改追加参数白名单设置,并重启hiveserver2
  • 修改 hive.security.authorization.sqlstd.confwhitelist.append 参数
  • mapreduce\.input\.fileinputformat\.split\.maxsize|hive\.support\.concurrency|hive\.exec\.dynamic\.partition\.mode|hive\.exec\.dynamic\.partition|hive\.support\.quoted\.identifiers|mapreduce\.job\.queuename|mapreduce\.job\.name
  • 治理任务历史:展示对某些表的治理任务历史,可以观察是否处理成功,合并前后的数据

指标释义

指标

含义

表存储量

一张表实际占用HDFS的文件大小的总量,分区表为全部分区相加,非分区表为全部文件相加

是否分区表

表是否为分区表

分区数

如果表为分区表,计算当前表的分区总数

小文件分区数

表为分区表时: 计算分区内平均文件大小是否小于64M(可调)的分区总数

小文件分区占比

表为分区表时: 小文件分区数占比总分区数的百分比

文件数

计算表涉及到的文件总数

平均文件大小

计算表的表存储量/文件数的比值

存储总量

所有表的表存储量即全部的表实际占用HDFS的文件大小总量

文件总数

所有表的文件数的总和,包含了分区表及非分区表实际上在HDFS存储的文件个数

平均文件大小

所有表的表存储总量/文件总数的平均值

表总数

所有表的总数

分区表总数

分区表的情况下,所有分区表的表总数

分区表总分区数

分区表的情况下,所有分区表的分区总数

非分表表总数

非分区表的情况下,所有表的表总数

小文件表存储总量

小文件即平均文件大小小于64M(可调)的表的存储量累计值

小文件表的文件总数

小文件即平均文件大小小于64M(可调)的表的存文件数累计值

小文件表平均文件大小

小文件即平均文件大小小于64M(可调)的表的存储总量/文件总数

小文件表的表总数

小文件即平均文件大小小于64M(可调)的表总数

小文件表的分区表总数

小文件即平均文件大小小于64M(可调)的分区表总数

小文件表的分区表总分区数

小文件即平均文件大小小于64M(可调)的分区总数

小文件表的非分区表总数

小文件即平均文件大小小于64M(可调)的非分区表总数

3. 资源控制

  • mysql 查询资源控制
  • 扫描的hivemetastore的DBLS,TBLS,PARTITIONS 表的字段都有索引
  • 默认对分区为10000及以上的分区个数不进行扫描,可按照需求调整
  • 取分区数据按照批次获取,每次获取100条,可按照需求更改大小,分区数过多也不用担心
  • 扫描并发默认2,可按需调整
  • 合并小文件时 yarn 资源控制
  • 合并过程中需要用到yarn资源,需要配置一个可以运行任务的队列和用户
  • 合并时对于最少7天内分区的访问创建不进行处理,保障最常用的数据不受影响
  • 支持并发提交合并任务,默认值为1即串行提交,可根据自己资源情况自行更改
  • 支持单任务合并多分区,默认50个分区提一个hive任务,可按照具体资源情况调整

hive表冷热数据

集群在运行一段时间后,时常会产生一些临时表/无查询/查询极少的表占用集群容量空间,导致存储赠本增加,造成了存储的资源浪费,一些较大的表/不常使用的表在分布式数据计算中占用了较高或额外的网络传输影响到了任务的计算速度,当前功能为发现哪些表数据冷/温/热数据。展示当前的表冷热数据统计信息。

  • 开通冷热数据表扫描
  • 部署 agent 并通过系统-系统配置-配置引导-管控配置   ops_storage_ls_log_file_enable (是否开启冷热数据扫描) 开启。
  • get_method 默认配置为1,即通过SCP将audit.log文件copy到对应的agent 节点进行处理,2为通过hadoop get 命令获取 存储在HDFS上的audit.log 数据
  • 使用SCP时需要在对应的namenode的节点上做好对agent 节点的免密处理。
  • Hive冷热数据表容量分布
  • 展示目前集群的 HDFS 容量趋势(总容量及冷热数据容量),热/温/冷/极冷数据的占比。
  • 数据表冷热明细
  • 不同的库/表具体的冷热数据情况/大小/分区/路径/最近一次访问时间等数据展示。


元仓

大数据元仓

展示 clickhouse 库中大数据相关任务、集群的存储模型,包括:spark、hadoop、tez、impala 以及 yarn 集群,用户可通过jdbc连接查询。

报表统计

集群分析

集群维度的监控分析,包含集群基本信息以及运行时机器负载和 yarn 整体以及队列资源的监控信息。

任务分析

  • 任务分布:任务在不同维度的分布情况
  • 优化信息:任务优化相关(任务开启自动优化前后对比)
  • 异常信息:任务异常的统计信息,以及异常原因分布
  • 数据量排行:app 和 tez dag 维度任务输入输出以及 shuffle 数据量大小排行
  • 资源使用量排行:app 和 tez dag 维度任务时长、内存使用、cpu 使用排行


告警

告警模块为系统本身和大数据集群以及任务提供监控告警功能

活跃告警

显示当前正在活跃的告警,当告警恢复后,会将当前活跃告警移除,支持通过告警规则和告警首次触发时间过滤活跃告警。

历史告警

显示历史活跃以及已经恢复的全部告警,同样支持通过告警规则和告警首次触发时间过滤。查看告警详情可以看到该告警的相关细节信息,包括告警规则名称、所属业务组、规则备注、数据来源、告警级别、事件状态、标签、触发时间、触发时表达式的值、promql、执行频率和时长、告警通知渠道、通知组等相关信息。

告警规则

告警规则页面可以创建新告警、批量导入导出告警、批量删除告警以及批量启停告警。其中我们出厂内置了一些常见告警,客户可以根据需要创建告警。

新建告警

制定告警规则是针对监控指标灵活地根据不同业务场景配置不同告警的过程。

  • 数据源:默认使用产品自带的Prometheus,客户可以新建数据源,使用自定义数据源,目前仅支持 Prometheus 源类型。
  • 告警业务组:我们根据不同的监控场景内置了三个告警业务组,分别是:
  • 系统组:监控 Sky DataPilot 产品服务本身相关异常指标,包括服务接口请求异常数、采集服务请求 job history 失败数等相关系统核心告警
  • 节点组:监控 Sky DataPilot 产品部署服务器相关异常指标,当服务器出现异常时,可以及时将服务器异常事件告警出来
  • 业务组:监控客户大数据任务相关异常指标,比如:任务失败、数据倾斜等
  • 规则配置:告警能够触发的具体配置,包含:
  • 连续满足多少次表达式
  • 查询频率
  • 告警阈值表达式
  • 告警级别
  • 重复通知频率
  • 告警最大发送次数
  • 告警恢复是否需要通知
  • 观留时长
  • 告警通知:支持配置多个告警渠道(邮件、短信、飞书机器人等),多个告警通知组,当前仅有商业版支持将告警推送到外部渠道

时序查询

时序查询提供了查询 Prometheus 数据的入口,在排查问题时可以查询指标趋势辅助定位问题。

系统管理

系统管理负责维护管理告警相关配置

  • 告警业务组:告警业务组指的是在新建告警规则时,定义该告警属于哪一个告警业务组,对告警规则进行基础的分类。
  • 告警成员:需要将告警通知到的人员,通知渠道支持短信告警、邮箱通知、飞书、钉钉、企业微信机器人通知。
  • 告警通知组:告警通知组包含至少一个告警成员,新建告警规则时,至少需要绑定一个告警通知组,在组内的全部告警成员都能收到告警消息推送。
  • 数据源管理:告警监控的指标数据源,默认是 Sky DataPilot 产品自带的 Prometheus 服务。
  • 消息通知:配置短信、邮箱、webhook告警通知的相关基础配置,例如邮箱服务器配置、短信告警服务商配置、短信告警模板配置等。


系统

用户中心

用户管理

用户管理支持创建、删除用户以及更改用户角色,不同角色拥有不同权限。

  • 系统管理员:
  • 用户管理:拥有新增、删除管理员和普通用户权限,以及修改管理员和普通用户角色权限。
  • 其他:拥有服务配置查看和修改权限以及容器终端登入权限
  • 管理员:
  • 用户管理:无任何新增、删除、管理用户角色的权限。
  • 其他:拥有服务配置查看和修改权限以及容器终端登入权限
  • 普通用户:无任何新增、删除、管理用户角色的权限。
  • 用户管理:无任何新增、删除、管理用户角色的权限。
  • 其他:仅拥有服务配置查看权限,无容器终端登入权限

个人中心

个人中心页面支持修改密码和用户名。

系统配置

系统配置核心目的是为 Sky DataPilot 产品的服务提供统一配置管理的中心,支持查找、更新、新增,按照服务可分为以下几类:

  1. api:后端服务的相关,大部分属于高级配置,用户可以不关心。
  1. collect-server:数据采集服务相关,包含 MapReduce、tez、spark、impala 相关任务的采集配置,具体可看数据采集章节。
  1. hook:任务归一相关,与任务>优化设置>任务指纹配合共同生成同一任务的唯一 uid ,常规情况下这些 keys 不需要变更,如有需要可在交流群中反馈,由技术同学提供支持。

系统运维

系统运维为 Sky DataPilot 产品的服务提供了基础的服务容器状态监控和终端切入功能,方便在特殊场景下运维人员能够能登入容器进行问题排查。

系统日志

系统日志模块能够让用户在页面查看 Sky DataPilot 产品全部服务的日志,辅助问题排查。

 

产品参数

交付方式计算巢私有化部署
开票主体贝联珠贯科技(浙江)有限公司
所属类目数据计算分析与数据湖
上架日期2024-11-01

售后支持范围

服务范围:sky datapilot 产品本身,包含服务容器和基础功能 时间范围:09:00~18:00
本页面内容由服务商提供

商品价格(此处价格仅供参考,实际价格以选配后的价格为准)

版本名称计费项新购
免费版本版本基础价格2元

使用指南

立即下载

用户评论

综合评分
--

暂无评价

AI与大数据计算
4009030002 转16279

建议您还可搭配以下商品

Red Hat Enterprise Linux 8.8 64位
Red Hat Enterprise Linux(RHEL)8.8 64位
70
Red Hat Enterprise Linux 7.9 64位
Red Hat Enterprise Linux(RHEL)7.9 64位
70
银河麒麟高级服务器操作系统(ARM版)V10
银河麒麟高级服务器操作系统V10是麒麟软件有限公司针对企业级关键业务,适应虚拟化、云计算、大数据、工业互联网时代对主机系统可靠性、安全性、性能、扩展性和实时性等需求,依据CMMI5级标准研制的提供内生本质安全、云原生支持、自主平台深入优化、高性能、易管理的新一代自主服务器操作系统。
300
银河麒麟高级服务器操作系统(X86版)V10
银河麒麟高级服务器操作系统V10是麒麟软件有限公司针对企业级关键业务,适应虚拟化、云计算、大数据、工业互联网时代对主机系统可靠性、安全性、性能、扩展性和实时性等需求,依据CMMI5级标准研制的提供内生本质安全、云原生支持、自主平台深入优化、高性能、易管理的新一代自主服务器操作系统。
300
【自动激活】Windows 10 专业版 中文稳定版 2024年11月更新 v22H2 64位win10
镜像为Windows 10 专业版64位中文版纯净系统,版本号22H2。本镜像为Win10自动激活版本,该Windows镜像集成云安全中心、云助手、云监控插件,完美兼容云服务器。根据使用反馈,目前Win10相比Win11更加稳定。
0.01
STOmics Cloud
时空分析云平台(STOmics Cloud)是以时空为特色的多组学大数据分析平台,提供灵活且易于使用的“0代码”数据分析、低代码个性化分析、高分辨率可视化等服务,应用AI赋能,联动全球多个云平台,致力于提高生命科学领域的多组学数据分析效率,加速科研进程,助力科研转化。
10
人机协同翻译平台
人机协同翻译平台依托达摩院机器翻译提供智能底座,提供30+类型文档翻译、图片翻译、视频翻译,帮助客户在线完成项目管理、翻译/质检、任务交付,基于客户不断累积数据智能训练 最合适客户的机器翻译模型,持续提高客户人工翻译效率。
0
AI赋能」BPO-智能对话机器人配置
AI赋能」BPO-智能对话机器人配置服务: 围绕智能客服系列,为客户提供智能对话机器人产品配置,与客户业务接入使用,以及后期运维的全流程服务工作。包含内容:智能对话机器人产品实操培训、提供多种灵活配置项供客户选择搭配(文本/语音电话机器人:FAQ、对话流业务场景、数据清洗及标注、可提供效果(机器人识别准确率、质检召回率和准确率)。计费模式:按照配置次数/效果程度/客户数据量评估
600
MaxKB 社区版
MaxKB=Max Knowledge Base,是一款基于大语言模型和 RAG 的开源知识库问答系统,广泛应用于企业内部知识库、客户服务、学术研究与教育等场景。开箱即用、模型中立、灵活编排,支持快速嵌入到第三方业务系统。
0
EasyV数字孪生可视化搭建平台
EasyV是一款在线数据可视化大屏开发软件,使用者无需设计经验或技术背景,通过简单的组件拖拽、图层、画布编辑等操作方式即可快速创建出美观酷炫的数据大屏。平台支持多种数据源类型接入,具备数据实时更新性强、视觉效果丰富等特点。通过灵活多样的图表形式对庞杂的数据进行直观、清晰的可视化呈现,可视化大屏方便快速地洞察复杂业务背后的数据本质,帮助管理者及时发现问题,指导相关决策。
1980