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.jarspark.emr.analysis.uploadPath /data/emr/spark/logs/upload
Step3:验证 Spark 插件生效
在本地运行一个 spark-sql 执行任意查询,在集群服务 > SPARK > 查询管理中查看该本地查询是否存在。存在则代表 spark 插件生效。
# 本地运行spark-sqlspark-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 hadoophadoop fs -mkdir hdfs://HDFSXXXX/sparkjarshadoop fs -put /usr/local/service/spark/emr-plugins/1.0.0_sparkAnalysisListener.jar hdfs://HDFSXXXX/sparkjars
Step2:在提交机上确定可以访问插件
登录外部提交机,使用提交 Spark 任务的用户访问 Step1 上传的路径,确定文件存在并可下载。
hadoop fs -ls hdfs://HDFSXXXX/sparkjarsFound 1 items-rw-r--r-- 2 hadoop supergroup 201948 2025-08-05 11:35 hdfs://HDFSXXXX/sparkjars/1.0.0_sparkAnalysisListener.jarhadoop 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.EMRAnalysisListenerspark.jars hdfs://HDFSXXXX/sparkjars/1.0.0_sparkAnalysisListener.jarspark.emr.analysis.uploadPath /data/emr/spark/logs/upload
外部提交机也需要添加上述配置。