本文介绍如何使用 Azure Databricks UI 中的本机计算指标工具收集关键硬件和 Spark 指标。 指标 UI 可用于通用和作业计算。
指标几乎实时可用,正常延迟不到一分钟。 指标存储在 Azure Databricks 托管的存储中,而不是客户的存储中。
新的计算度量 UI 可以更全面地查看群集的资源使用情况,包括 Spark 消耗和内部 Databricks 进程。 相比之下,Ganglia UI 仅度量 Spark 容器消耗量。 这种差异可能会导致两个界面之间的指标值出现偏差。
若要查看计算指标 UI,请执行以下操作:
- 单击边栏中的 “计算”。
- 单击要查看其指标的计算资源。
- 单击“指标”选项卡。
默认会显示硬件指标。 若要查看 Spark 指标,请单击标有“硬件”的下拉菜单并选择“Spark”。 如果实例启用了 GPU,还可以选择 GPU。
可以通过使用日期选取器筛选器选择时间范围来查看历史指标。 指标每分钟收集一次,因此你可以按过去 30 天内的任何日期、小时或分钟范围进行筛选。 单击日历图标以从预定义的数据范围中进行选择,或者在文本框内单击以定义自定义值。
备注
图表中显示的时间间隔会根据你正在查看的时间长度进行调整。 大多数指标是基于当前查看的时间间隔的平均值。
还可以通过单击“刷新”按钮获取最新指标。
可以通过单击“计算”下拉菜单并选择要查看其指标的节点,来查看单个节点的指标。 GPU 指标仅在单个节点级别可用。 不会为单个节点提供 Spark 指标。
备注
如果不选择特定节点,结果将在群集内的所有节点(包括驱动程序)上取平均值。
可以在计算指标 UI 中查看以下硬件指标图表:
- 服务器负载分布:此图表显示每个节点在过去一分钟内的 CPU 利用率。
- CPU 利用率:在每种模式下花费的 CPU 时间百分比,基于 CPU 总秒数成本。 根据图表中显示的时间间隔计算指标的平均值。 以下是受跟踪的模式:
- guest:如果运行的是虚拟机,则代表这些虚拟机使用的 CPU
- iowait:等待 I/O 的时间
- idle:CPU 闲置的时间
- irq:中断请求所用的时间
- nice:谦让度为正(即优先级比其他任务低)的进程使用的时间
- softirq:软件中断请求所用的时间
- 窃取:如果你是虚拟机,则计算其他虚拟机从你的 CPU“窃取”的时间
- system:在内核中花费的时间
- user:在用户空间花费的时间
- 内存利用率:每种模式的总内存使用率(以字节为单位),根据图表中显示的时间间隔计算平均值。 将跟踪以下使用类型:
- 已用:已用内存(包括计算上运行的后台进程使用的内存)
- free:未使用的内存
- buffer:内核缓冲区使用的内存
- cached:操作系统级的文件系统缓存使用的内存
- 内存交换利用率:每种模式的总内存交换使用率(以字节为单位),根据图表中显示的时间间隔计算平均值。
- 可用文件系统空间:每个装入点的总文件系统使用率(以字节为单位),根据图表中显示的时间间隔计算平均值。
- 通过网络接收:每个设备通过网络接收的字节数,根据图表中显示的时间间隔计算平均值。
- 通过网络传输:每个设备通过网络传输的字节数,根据图表中显示的时间间隔计算平均值。
- 活动节点数:显示给定的计算在每个时间戳所示时间的活动节点数。
可以在计算指标 UI 中查看以下 Spark 指标图表:
- 服务器负载分布:此图表显示每个节点在过去一分钟内的 CPU 利用率。
- 活动任务数:在任何给定时间执行的任务总数,根据图表中显示的时间间隔计算平均值。
- 失败的任务总数:执行程序中失败的任务总数,根据图表中显示的时间间隔计算平均值。
- 已完成的任务总数:执行程序中已完成的任务总数,根据图表中显示的时间间隔计算平均值。
- 任务总数:执行程序中所有任务(正在运行、失败和已完成)的总数,根据图表中显示的时间间隔计算平均值。
- 随机读取总数:随机读取数据的总大小(以字节为单位),根据图表中显示的时间间隔计算平均值。
Shuffle read
表示某个阶段开始时所有执行程序上的序列化读取数据总和。 - 随机写入总数:随机写入数据的总大小(以字节为单位),根据图表中显示的时间间隔计算平均值。
Shuffle Write
是在传输之前(通常是某个阶段结束时)所有执行程序上所有写入序列化数据的总和。 - 总任务持续时间:JVM 在执行程序上执行任务所花费的总运行时间(以秒为单位),根据图表中显示的时间间隔计算平均值。
备注
GPU 指标仅适用于 Databricks Runtime ML 13.3 及更高版本。
可以在计算指标 UI 中查看以下 GPU 指标图表:
- 服务器负载分布:此图表显示每个节点在过去一分钟内的 CPU 利用率。
- 每 GPU 解码器利用率:GPU 解码器利用率的百分比,根据图表中显示的时间间隔计算平均值。
- 每 GPU 编码器利用率:GPU 编码器利用率的百分比,根据图表中显示的时间间隔计算平均值。
- 每 GPU 帧缓冲区内存利用率字节:帧缓冲区内存利用率(以字节为单位),根据图表中显示的时间间隔计算平均值。
- 每 GPU 内存利用率:GPU 内存利用率的百分比,根据图表中显示的时间间隔计算平均值。
- 每 GPU 利用率:GPU 利用率的百分比,根据图表中显示的时间间隔计算平均值。
如果一段时间内的指标不完整或缺失,可能是以下问题之一:
- 负责查询和存储指标的 Databricks 服务发生中断。
- 客户方的网络问题。
- 计算处于运行不正常状态。