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

Spark查询Ceph集群报错:无法执行HTTP请求,SSL消息不被识别

问题排查方案

1. 对齐PySpark与boto3核心配置

boto3能正常访问Ceph,说明密钥、端点、区域等核心参数有效,先逐一核对PySpark的S3兼容配置是否与boto3完全一致:

  • 确认spark.hadoop.fs.s3a.endpoint与boto3的endpoint_url完全匹配(包含http/https协议、端口号,注意末尾不要加多余斜杠)
  • 检查spark.hadoop.fs.s3a.access.key、spark.hadoop.fs.s3a.secret.key是否和boto3的aws_access_key_id、aws_secret_access_key完全一致,避免大小写错误或空格

2. 针对不同端口报错的具体修复

  • 端口6800:SSL消息不支持/无法识别
    该报错说明协议不匹配:若boto3用http://x.x.x.x:6800访问明文端口,需在PySpark中关闭SSL:

    spark.hadoop.fs.s3a.connection.ssl.enabled false
    

    若boto3用HTTPS访问,需确认Ceph 6800端口已配置SSL证书,并在PySpark中开启SSL+指定信任证书路径(自签证书场景):

    spark.hadoop.fs.s3a.connection.ssl.enabled true
    spark.hadoop.fs.s3a.connection.ssl.trust-store.path /path/to/ca.crt
    
  • 端口443:403权限禁止
    排除密钥问题(boto3已验证有效),重点排查:

    • 开启路径式访问:Ceph默认需要路径式而非虚拟主机式访问,添加配置spark.hadoop.fs.s3a.path.style.access true
    • 核对代理配置:服务器C的远程环境可能给PySpark设置了代理,但boto3未走代理,对比两者的HTTP_PROXY/HTTPS_PROXY环境变量
  • 端口1:连接被拒绝
    该端口明显异常,说明PySpark的端点配置有误,大概率是配置项拼写错误(比如把endpoint写成错误键名),导致Spark读取了错误的默认端口,仔细核对所有Spark配置项的键名拼写。

3. 检查Spark S3A依赖版本兼容性

不同版本的Hadoop S3A客户端与Ceph RGW兼容性差异较大:

  • 若Ceph为新版本,建议使用Hadoop 3.3+版本的S3A客户端
  • 提交任务时可指定兼容依赖:
    spark-submit --packages org.apache.hadoop:hadoop-aws:3.3.4,com.amazonaws:aws-java-sdk-bundle:1.12.262 your_script.py
    

4. 开启调试日志定位差异

在PySpark代码中添加调试日志,对比boto3的请求细节:

from pyspark.sql import SparkSession

spark = SparkSession.builder \
    .appName("CephTest") \
    .config("spark.hadoop.fs.s3a.endpoint", "http://your-ceph-endpoint:6800") \
    .config("spark.hadoop.fs.s3a.access.key", "your-key") \
    .config("spark.hadoop.fs.s3a.secret.key", "your-secret") \
    .config("spark.hadoop.fs.s3a.path.style.access", "true") \
    .config("spark.hadoop.fs.s3a.connection.ssl.enabled", "false") \
    .config("spark.log.level", "DEBUG") \
    .getOrCreate()

df = spark.read.text("s3a://your-bucket/test.txt")
df.show()

查看日志中的请求URL、头信息,与boto3的请求日志(开启botocore.endpoint日志)对比,定位配置或请求逻辑的差异。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 14:12:17