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

Docker部署Spark Master:远程Telnet 7077端口连接被拒

问题分析与解决步骤

核心定位

从你提供的信息来看,宿主机7077端口已被docker-pr监听,说明端口映射本身配置生效,但远程无法连通的核心原因是Spark Master的7077服务仅绑定了容器内的localhost(127.0.0.1),未绑定到容器的0.0.0.0地址,导致外部请求无法穿透到容器内的服务。

具体解决步骤

1. 检查容器内服务绑定地址

先进入Spark Master容器:

sudo docker exec -it spark-master /bin/bash

在容器内执行命令查看7077端口的绑定情况:

netstat -tulpn | grep 7077

如果输出显示绑定地址为127.0.0.1:7077,而非0.0.0.0:7077,则确认是此问题。

2. 修改Spark配置绑定0.0.0.0

进入Spark配置目录(通常为$SPARK_HOME/conf),复制模板配置文件:

cd $SPARK_HOME/conf
cp spark-env.sh.template spark-env.sh

编辑spark-env.sh,添加以下配置:

export SPARK_MASTER_HOST=0.0.0.0
export SPARK_MASTER_PORT=7077

3. 重启容器生效配置

退出容器后,执行重启命令:

sudo docker restart spark-master

4. 验证远程连通性

在远程机器上重新执行telnet命令:

telnet 172.26.21.130 7077

若能成功连通,则问题解决。

备选方案:启动容器时直接指定参数

如果不想进入容器修改配置,可以先删除原容器,再用以下命令重新创建,通过环境变量直接指定绑定地址:

sudo docker rm -f spark-master
sudo docker run -itd \
                --net=hadoop-net \
                -p 8080:8080 \
                -p 7077:7077 \
                -p 4040:4040 \
                -p 4041:4041 \
                -p 4042:4042 \
                --name spark-master \
                --hostname spark-master \
                -e SPARK_MASTER_HOST=0.0.0.0 \
                spark-master

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 00:52:19