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

GCP集群中Spark UI端口连接失败问题求助

解决Spark UI端口连接问题

1. 修复端口号不一致的笔误

你代码里配置的Spark UI端口是4229,但端口转发命令里写的是42229(多了一个2),这是导致无法连接的核心问题。

修改端口转发命令,把目标端口改成4229:

ZONE=$(gcloud compute instances list --filter="name~data-eng" --format "value(zone)")
gcloud compute ssh data-eng-m --ssh-flag "-L 8080:localhost:4229" --zone $ZONE

2. 确保Spark UI绑定到可访问的地址

报错bind [::1]:8080: Cannot assign requested address说明Spark尝试绑定IPv6的localhost,但实例网络配置可能限制了IPv6访问。可以强制Spark绑定到IPv4的0.0.0.0(允许所有地址访问),在初始化SparkSession时添加额外配置:

app_name = "week1_demo"
master = "local[*]"
spark = SparkSession\
    .builder\
    .appName(app_name)\
    .master(master)\
    .config("spark.ui.port","4229")\
    .config("spark.ui.address", "0.0.0.0")\  # 添加该行配置
    .getOrCreate()
sc = spark.sparkContext

3. 验证端口监听状态

修改后,在集群实例上执行以下命令,确认Spark是否正常监听4229端口:

netstat -tulpn | grep 4229

若输出包含LISTEN状态,说明Spark UI已正常启动。

4. 切换至其他端口的方法

如果需要更换端口,只需同步修改两处配置:

  • 在SparkSession初始化代码中,将spark.ui.port改为新端口(比如8888)
  • 更新端口转发命令的目标端口:
    gcloud compute ssh data-eng-m --ssh-flag "-L 8080:localhost:8888" --zone $ZONE
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 15:03:21