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

PySpark新手求助:通过Linux服务器用spark-submit连接远程CDP集群

使用spark-submit连接远程CDP Hadoop集群的命令示例

以下是适配CDP集群的spark-submit基础命令,可根据实际环境调整参数:

spark-submit \
  --master yarn \
  --deploy-mode client \
  --conf spark.hadoop.fs.defaultFS=hdfs://<CDP_NameNode地址>:<端口> \
  --conf spark.yarn.resourcemanager.address=<CDP_ResourceManager地址>:8032 \
  --conf spark.yarn.resourcemanager.webapp.address=<CDP_ResourceManager地址>:8088 \
  --conf spark.hadoop.yarn.resourcemanager.scheduler.address=<CDP_ResourceManager地址>:8030 \
  --py-files <依赖Python包路径(可选)> \
  <你的PySpark脚本路径>

参数说明

  • --master yarn:指定Spark基于CDP的YARN资源管理器运行
  • --deploy-mode client:驱动程序在本地Linux服务器执行,计算任务在CDP集群节点运行;若需驱动在集群节点运行,改为cluster模式
  • spark.hadoop.fs.defaultFS:配置CDP集群HDFS的NameNode地址,默认端口为8020
  • spark.yarn.resourcemanager.address:CDP集群ResourceManager的服务地址,默认端口8032
  • spark.yarn.resourcemanager.webapp.address:ResourceManager的WebUI地址,默认端口8088
  • spark.hadoop.yarn.resourcemanager.scheduler.address:ResourceManager调度器地址,默认端口8030
  • --py-files:若脚本依赖额外Python模块,可将其打包为.zip/.egg文件后通过此参数上传至集群

额外配置(按需添加)

Kerberos认证场景

如果CDP集群开启Kerberos认证,需追加以下配置:

--conf spark.security.credentials.hive.enabled=true \
--conf spark.hadoop.security.authentication=kerberos \
--conf spark.hadoop.hive.metastore.sasl.enabled=true \
--principal <你的Kerberos主体名> \
--keytab <本地Kerberos密钥表文件路径>

访问Hive元数据场景

若需在PySpark中操作Hive表,需添加Hive相关配置:

--conf spark.sql.catalogImplementation=hive \
--conf spark.hadoop.hive.metastore.uris=thrift://<CDP_HiveMetastore地址>:9083

注意事项

  • 确保本地Linux服务器能连通CDP集群的所有必要端口(NameNode、ResourceManager等),可通过nc -zv <地址> <端口>测试连通性
  • 本地Spark版本尽量与CDP集群的Spark版本保持一致,避免兼容性问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 04:31:05