Apache Spark是为速度而建的开源大数据处理框架,内置了流、SQL、机器学习和图形处理模块。Apache Spark有一个高级DAG执行引擎,支持无循环数据流和内存计算。Spark运行在Hadoop,Mesos,standalone或者云中。它可以访问各种数据源,包括HDFS、Cassandra、HBase和S3。
让我们来看看您需要什么来获得Spark应用程序的实时操作可见性,要收集的性能指标,以及如何确保您的搜索服务器在Application Manager中正常启动和运行:
使用REST API添加新的Apache Spark监视器:点击此处
要创建Apache Spark监视器,请遵循下面给出的步骤:
点击监视器 选项卡,到监视器类别视图。点击Web 服务器/服务 表下的Apache Spark Master或Apache Spark Worker 监视器。显示的是分布在三个选项卡中的Apache Spark散装配置视图:
点击监视器名称,查看以下选项卡下列出的所有服务器详细信息:
| 参数 | 描述 |
|---|---|
| 节点详细信息 | |
| Node Name | Apache Spark worker节点的名称。 |
| Used Memory (%) | Spark worker节点在机器上使用的总内存百分比。 |
| Free Memory (%) | 机器上总空闲内存的百分比。 |
| 内存使用率 | |
| Used Memory | Spark Master节点在机器上使用的总内存百分比。 |
| Free Memory | Spark Master节点的总空闲内存的百分比。 |
| Total Memory | 允许Spark应用程序在机器上使用的内存总量 |
| Used Memory | Spark应用程序使用的内存总量。 |
| MASTER 概述 | |
| Alive Workers | Spark集群的活跃的Workers数量。处于ALIVE状态的Worders可以接受应用。 |
| Active Applications | 运行在Spark基础设施上活跃的应用数量。 |
| Waiting Applications | 等待的应用数量。 |
| Completed Applications | 已完成应用的数量。 |
| Used Cores | Apache Spark Master上使用的CPU核数。 |
在独立模式下,workers是在单个节点上运行的进程,这些节点管理该节点的资源分配请求,并监控执行者。
特定Worker节点使用的CPU核数。
| 参数 | 描述 |
|---|---|
| WORKER详细信息 | |
| Web UI Address | Worker WebUI的URL。Web UI 是运行的Spark应用程序的Web接口,用于监控和检查Web浏览器中的Spark作业执行情况。 |
| ID | 特定worker节点的ID可以独特地识别他们。 |
| Cores Used | |
| Cores Free | 未使用的空闲CPU核心的数量。 |
| Used Memory (GB) | Worker节点使用的总内存。 |
| Free Memory (GB) | Worker节点中的总空闲内存。 |
| Used Memory (%) | Worker节点使用的内存百分比。 |
| Time Since Last Heart Beat (seconds) | The time elapsed since last heart beat (i.e.) The last time when the Worker node contacted the Master Node.自上次心跳之后(即)。最后一次当Worker节点联系主节点时。 |
| State | Worker节点的当前状态,例如,继续存在或已完成。 |
| 参数 | 描述 |
|---|---|
| 应用程序详细信息 | |
| Application Name | 您应用程序的名称。 |
| ID | 应用程序由其ID引用。 |
| User | 与特定应用程序关联的用户。 |
| Memory Allocated Per Slave (GB) | 分配给每个工作人员的内存量。 |
| Running Duration (分) | 从应用程序启动后的总运行时间。 |
| State | 特定应用程序的当前状态,例如等待或运行 |
Spark可以使用的最大堆内存。
| 参数 | 描述 |
|---|---|
| 堆内存 | |
| Used Heap | 总使用堆内存的百分比。 |
| Free Heap | 空闲堆内存的百分比。 |
| Max Heap Size | |
| Init Heap Size | 分配的最小堆内存。 |
| Committed Heap Size | 提交堆内存的总量。 |
| Used Heap Size | 总使用的堆内存。 |
| 非堆内存 | |
| Used Non Heap | 总使用的非堆内存百分比。 |
| Free Non Heap | 空闲非堆内存的百分比。 |
| Max Non Heap Size | Spark可以使用的最大非堆内存。 |
| Initial Non Heap Size | 分配的最小非堆内存。 |
| Committed Non Heap Size | 提交非堆内存的总量。 |
| Used Non Heap Size | 总使用的非堆内存。 |
| JVM | |
| Used JVM | 使用JVM内存的数量,以MB为单位。 |
| Free JVM | JVM可用内存的数量,以MB为单位。 |
| Max JVM Size | 可用于内存管理的堆最大数量,以GB为单位 |
| Initial JVM Size | Java虚拟机最初从操作系统请求堆的数量,以MB为单位。 |
| Committed JVM Size | 提交JVM内存的总量。 |
| Used JVM Size | 使用的JVM内存总量。 |
| MARKSWEEP 和 SCAVENGE | |
| MarkSweep Count | 在MarkSweep GC中发生了垃圾回收的次数。 |
| MarkSweep Time | 在MarkSweep GC中发生垃圾回收所花费的时间。 |
| Scavenge Count | 在Scavenge GC中发生垃圾回收的次数。 |
| Scavenge Time | 在Scavenge GC中发生垃圾回收所花费的时间。 |
| 内存池详细信息 | |
| Memory Pool | 内存池名称 |
| Maximum (MB) | 分配的最大池内存,以MB为单位。 |
| Committed (MB) | 提交池内存的总量。 |
| Initial (MB) | 池内存最初从操作系统的请求,以MB为单位。 |
| Used (MB) | 使用的池内存总量。 |
| Utilization (%) | 使用的池内存百分比。 |
| 参数 | 描述 |
|---|---|
| 编辑细节 | |
| Compilation Time (Mean) | 编译源代码文本所需的时间。 |
| Compilation Count | 在加载文件时发生的汇编总数。 |
| 汇编详细信息 | |
| Generated Class Size (Mean) | 生成类中每个方法的大小。 |
| Generated Method Size (Mean) | 生成类中每个方法的大小。 |
| Source Code Size (Mean) | 编译源代码文本所需的时间。 |
| Generated Class Count | 生成的类数。 |
| Generated Method Count | 生成类中方法的数量。 |
| Source Code Count | 加载到节点进行编译的源代码文件总数。 |
| 计算器 | |
| File Cache Hits | 发生的文件级缓存命中总数。 |
| Files Discovered | 发现的文件总数。 |
| Hive Client Calls | 发送到配置单元进行查询处理的客户端调用总数。 |
| Parallel Listing Job Count | 并行运行的作业总数。 |
| Partitions Fetched | 获取的分区总数。 |
| 参数 | 描述 |
|---|---|
| 配置详细信息 | |
| Master URL | 主节点的URL。 |
| Total Workers | 集群中提供的Worker总数。 |
| Available Cores | 允许Spark应用程序在机器上使用的CPU核数。 |
| Total Memory | 分配给Spark 主节点的总内存。 |
| 参数 | 描述 |
|---|---|
| 内存利用率 | |
| Used Memory Percentage | Spark worker节点在机器上使用的总内存百分比。 |
| Free Memory Percentage | 机器上总空闲内存的百分比。 |
| Used Memory | Worker节点从可用内存中使用的总内存。 |
| Free Memory | Worker节点可用的总空闲内存。 |
| WORKER概述 | |
| Active Executors | 主动Executors的数量 |
| Finished Executors | 完成Executors的数量(Spark Executors在失败或相关应用程序退出时退出。) |
| Free Cores | 空闲并且可供特定Worker使用的核心总数。 |
| Used Cores | 特定Worker使用的核心总数。 |
| 参数 | 描述 |
|---|---|
| EXECUTOR详细信息 | |
| Executor ID | 特定Executor的唯一ID。 |
| Executor Memory (GB) | 特定Executor可用的总内存。 |
| Application ID | 与Executor关联的应用程序唯一的ID。 |
| Application Name | 特定应用程序的名称。 |
| User | 与特定应用程序关联的用户。 |
| Memory Allocated Per Slave (GB) | 分配给每个Worker的内存量。 |
| 参数 | 描述 |
|---|---|
| 堆内存 | |
| Used Heap | 使用的堆内存的总百分比。 |
| Free Heap | 空闲的堆内存的总百分比。 |
| Max Heap Size | Spark可以使用的最大堆内存。 |
| Init Heap Size | 分配的最小堆内存。 |
| Committed Heap Size | 提交堆内存的总量。 |
| Used Heap Size | 总使用的堆内存。 |
| 非堆内存 | |
| Used Non Heap | 使用的非堆内存总百分比。 |
| Free Non Heap | 空闲的非堆内存百分比。 |
| Max Non Heap Size | Spark可以使用的最大非堆内存。 |
| Initial Non Heap Size | 分配的最小非堆内存。 |
| Committed Non Heap Size | 提交的非堆内存的总量。 |
| Used Non Heap Size | 总使用的非堆内存。 |
| JVM | |
| Used JVM | 使用JVM内存的数量,以MB为单位。 |
| Free JVM | JVM可用内存的数量,以MB为单位。 |
| Max JVM Size | 可用于内存管理堆的最大数量,以GB为单位。 |
| Initial JVM Size | Java虚拟机最初从操作系统请求堆的数量,以MB为单位。 |
| Committed JVM Size | 提交JVM内存的总量。 |
| Used JVM Size | 使用的JVM内存总量。 |
| MARKSWEEP 和 SCAVENGE | |
| MarkSweep Count | 在MarkSweep GC中发生了垃圾回收的次数。 |
| MarkSweep Time | 在MarkSweep GC中发生垃圾回收所花费的时间。 |
| Scavenge Count | 在Scavenge GC中发生垃圾回收的次数。 |
| Scavenge Time | Scavenge GC中发生垃圾回收所花费的时间。 |
| 内存池详细信息 | |
| Maximum (MB) | 分配的最大池内存,以MB为单位。 |
| Initial (MB) | 从操作系统请求的初始池内存,以MB为单位。 |
| Committed (MB) | 提交池内存的总量。 |
| Used (MB) | 使用的池内存总量。 |
| Utilization (%) | 使用过的池内存的百分比。 |
| 参数 | 描述 |
|---|---|
| 汇编详细信息 | |
| Compilation Time (Mean) | 编译源代码文本所需的时间。 |
| Compilation Count | 在加载文件时发生了总数汇编。 |
| 汇编详细信息系 | |
| Generated Class Size (Mean) | 生成类的大小。 |
| Generated Method Size (Mean) | 生成类中每个方法的大小。 |
| Source Code Size (Mean) | 编译后源代码文本的大小。 |
| Generated Class Count | 生成类的数量。 |
| Generated Method Count | 生成类中方法的数量。 |
| Source Code Count | 加载到节点进行编译的源代码文件总数。 |
| 计算器 | |
| File Cache Hits | 发生的文件级缓存命中总数。 |
| Files Discovered | 发现的文件总数。 |
| Hive Client Calls | 发送到配置单元进行查询处理的客户端调用总数。 |
| Parallel Listing Job Count | 并行运行的作业总数 。 |
| Partitions Fetched | 获取的分区总数。 |
| 参数 | 描述 |
|---|---|
| 配置详细信息 | |
| Worker ID | Worker由其ID引用。 |
| Master URL | 主节点的URL。 |
| Master Web UI URL | 主节点的Web UI的URL。 |
| Total Memory | 为特定的Worker节点分配和可用的总内存。 |
它允许我们跟踪关键指标,如响应时间、资源利用率、错误率和交易性能。实时监控告警会及时通知我们任何问题或异常,使我们能够立即采取行动。
审稿人角色:研究与开发

Lexmark技术支持经理