开启 Spark 查询采集插件

最近更新时间:2025-08-06 10:10:42

我的收藏
Spark 控制台查询管理及洞察等相关功能需要用户集群开启 Spark 的查询采集插件,面向采集到相关的查询信息进行多维度分析和预设策略及 AI 洞察调优。

EMR on CVM Spark3 场景采集查询

Step1:检查 Spark 插件是否已经部署

1. 登录 Spark 提交机,详情请参见 使用 OrcaTerm 方式登录 Linux 实例(推荐)
2. 查看插件是否存在,注意插件只对 Spark3 生效。
# 对于spark3.x版本,如下文件存在即是已经安装
ls /usr/local/service/spark/emr-plugins/*sparkAnalysisListener*

Step2:修改 Spark 配置

从控制台对 Spark 配置 spark-defaults.conf 添加如下配置并下发:
spark.extraListeners org.apache.spark.emr.EMRAnalysisListener
# 具体包名参考Step1目录下的包名
spark.jars /usr/local/service/spark/emr-plugins/1.0.0_sparkAnalysisListener.jar
spark.emr.analysis.uploadPath /data/emr/spark/logs/upload

Step3:验证 Spark 插件生效

在本地运行一个 spark-sql 执行任意查询,在集群服务 > SPARK > 查询管理中查看该本地查询是否存在。存在则代表 spark 插件生效。
# 本地运行spark-sql
spark-sql --master local
# 执行任意查询
select * from your_table;

EMR on TKE Spark3 场景采集查询

说明:
仅在 EMR-TKE-V1.1.0 及以后版本支持。

Kyuubi 提交 Spark

1. 登录将要连接的 KyuubiServer Pod,并检查插件是否存在。
# 对于spark3.x版本,如下文件存在即是已经安装
ls /usr/local/service/spark/emr-plugins/*sparkAnalysisListener*
2. 在控制台 kyuubi-defaults 中添加配置并下发生效,注意 EMR on TKE 不用添加 spark.emr.analysis.uploadPath。
spark.extraListeners org.apache.spark.emr.EMRAnalysisListener
# 具体包名参考目录下的包名
spark.jars /usr/local/service/spark/emr-plugins/1.0.0_sparkAnalysisListener.jar

Hive on Spark

1. 登录将要连接的 HiveServer2 Pod,并检查插件是否存在。
# 对于spark3.x版本,如下文件存在即是已经安装
ls /usr/local/service/hive/spark/emr-plugins/*sparkAnalysisListener*
2. 在控制台 hive-site.xml 中添加配置并下发生效,注意 EMR on TKE 不用添加 spark.emr.analysis.uploadPath。
hive.execution.engine spark;
spark.extraListeners org.apache.spark.emr.EMRAnalysisListener;
spark.jars /usr/local/service/hive/spark/emr-plugins/1.0.0_sparkAnalysisListener.jar;

Spark

1. 同 EMR on CVM,先登录 Spark 提交机确认插件存在。
# 对于spark3.x版本,如下文件存在即是已经安装
ls /usr/local/service/spark/emr-plugins/*sparkAnalysisListener*
2. 在控制台 spark-defaults.conf 中添加配置并下发生效。
spark.extraListeners org.apache.spark.emr.EMRAnalysisListener
# 具体包名参考Step1目录下的包名
spark.jars /usr/local/service/spark/emr-plugins/1.0.0_sparkAnalysisListener.jar

外部提交到 EMR on CVM 集群

提交机非EMR集群节点,如Wedata,DolphinScheduler等提交到EMR集群

Step1:将Spark插件上传到 EMR 集群 HDFS

说明:
EMR 集群需要安装 Spark 组件。
1. 登录 EMR 集群 master,core,router,task 任一节点,详情请参见使用 OrcaTerm 方式登录 Linux 实例(推荐)
2. 查看插件是否存在,注意插件只对 Spark3 生效
# 对于spark3.x版本,如下文件存在即是已经安装
ls /usr/local/service/spark/emr-plugins/*sparkAnalysisListener*
3. 再上传到 EMR 集群 HDFS,使用有权限写入 HDFS 的用户执行命 Hadoop 为例。本集群 hdfs 路径参考 core-site.xml 中的 default.FS。
su hadoop
hadoop fs -mkdir hdfs://HDFSXXXX/sparkjars
hadoop fs -put /usr/local/service/spark/emr-plugins/1.0.0_sparkAnalysisListener.jar hdfs://HDFSXXXX/sparkjars

Step2:在提交机上确定可以访问插件

登录外部提交机,使用提交 Spark 任务的用户访问 Step1 上传的路径,确定文件存在并可下载。
hadoop fs -ls hdfs://HDFSXXXX/sparkjars
Found 1 items
-rw-r--r-- 2 hadoop supergroup 201948 2025-08-05 11:35 hdfs://HDFSXXXX/sparkjars/1.0.0_sparkAnalysisListener.jar

hadoop fs -get hdfs://HDFSXXXX/sparkjars/1.0.0_sparkAnalysisListener.jar

Step3:修改 EMR 集群和外部提交机 Spark 配置

从控制台对 Spark 配置 spark-defaults.conf 添加如下配置并下发,替换 spark.jars 为 Step1的路径。
spark.extraListeners org.apache.spark.emr.EMRAnalysisListener
spark.jars hdfs://HDFSXXXX/sparkjars/1.0.0_sparkAnalysisListener.jar
spark.emr.analysis.uploadPath /data/emr/spark/logs/upload
外部提交机也需要添加上述配置。