You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spark写入Elasticsearch任务在Kubernetes中挂起问题求助

Spark on Kubernetes 任务挂起问题:S3到Elasticsearch数据写入异常

问题现象

  • Spark任务从S3加载数据后,前期Spark操作均正常执行,但进入Elasticsearch读写阶段后挂起,无法正常结束。
  • 已确认与Elasticsearch通信链路正常(能收到HTTP 200响应),但Java进程后续无法继续推进,导致任务停滞。
  • 成功任务的调试日志:
    DEBUG RestClient: request [HEAD https://xxx:443/my-index] returned [HTTP/1.1 200 OK]
    DEBUG JavaClient: Http Response Response{requestLine=HEAD / my-index HTTP/1.1, host=https://xxx:443, response=HTTP/1.1 200 OK}
    res1: Boolean = true
    
  • 失败任务卡在DEBUG RestClient: request [HEAD https://xxx:443/my-index] returned [HTTP/1.1 200 OK],无后续日志输出。
  • 资源使用差异:健康任务CPU持续正常运行,挂起任务CPU使用率骤降并保持停滞状态。

已尝试的排查与调整

  • 在挂起的Executor中启动spark-shell,添加配置--conf "spark.driver.extraJavaOptions=-Dscala.concurrent.context.maxThreads=16"后,部分HEAD请求(200/404响应)可正常完成,但稳定性差;将该配置添加到spark-submit中无效。
  • PUT请求(如PUT /my-index?master_timeout=10000ms&timeout=10000ms)创建索引后始终挂起,无后续反馈。
  • 调整资源配置:增减Executor的CPU/内存配额、修改Executor数量(从2改为1)。
  • 调整Spark参数:
    spark.executor.heartbeatInterval=10s
    spark.network.timeout=100s
    spark.dynamicAllocation.executorIdleTimeout: 10s
    
  • 重启Kubernetes集群,问题未解决。

环境背景

  • 版本信息:Spark 3.3.1、Elasticsearch 8.15.0、Kubernetes 1.24.17
  • 此前相同环境下任务运行稳定,问题自8月13日起突发出现。

内容的提问来源于stack exchange,提问作者Eline

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 11:32:39