Spark独立集群连续结构化流未显示输入/处理速率指标求助
Spark独立集群连续结构化流指标显示NaN的解决办法
验证Spark版本:连续流在独立集群的指标采集支持从Spark 3.1版本开始才趋于完善,若使用3.0及以下版本,建议升级到3.1+版本。
补全指标采集配置:仅设置
spark.sql.streaming.metricsEnabled = true不够,需在metrics.properties中配置MetricsServlet,确保指标能被正常采集和暴露:*.sink.servlet.class=org.apache.spark.metrics.sink.MetricsServlet *.sink.servlet.path=/metrics/json driver.sink.servlet.port=4040配置后重启集群,确保Driver的Metrics服务正常运行。
调整连续流参数:若输入数据量极小或触发间隔过短,可能导致统计值无意义显示为NaN。建议设置合理的连续触发间隔(如
trigger(Trigger.Continuous("10 seconds"))),并保证有持续稳定的输入数据。直接通过REST API查指标:如果UI显示异常,可访问Driver的指标接口
http://<driver-ip>:4040/metrics/json,在gauges节点下查找structuredStreaming.stream.<query-id>.inputRowsPerSecond、structuredStreaming.stream.<query-id>.processedRowsPerSecond等字段,确认原始指标是否存在有效值。排查集群资源状态:连续流对Executor稳定性要求高,若Executor频繁重启、内存不足或CPU过载,会中断指标采集。检查集群资源使用情况,确保Executor有足够的资源维持稳定运行。
内容的提问来源于stack exchange,提问作者XIAOAGE
相关产品推荐
相关产品推荐

