spark服务器端口有哪些,默认端口号是多少

Spark服务器端口主要分为三组:Master和Worker的通信与Web UI端口(默认7077、8080、8081)、运行中应用的UI端口(默认4040)、历史日志服务端口(默认18080),修改这些端口需要在spark-env.sh和spark-defaults.conf里分别配置。

很多朋友第一次搭Spark集群,启动时看着满屏日志挺兴奋,但一访问Web界面就傻眼,要么打不开,要么打开之后发现根本不是自己想要的页面,这背后基本都是端口没弄明白,这篇文章就把Spark里那些“默认端口”一次说清楚。

常用网络端口号
加载中
常用网络端口号

Spark核心端口全景:从7077到8080的分工

Spark集群跑起来之后,各个角色各管一摊,端口就是它们之间沟通的门牌号,搞混了门牌号,消息自然送不到,先看一张总表,心里有个整体概念。

端口号 默认用途 对应配置项 使用场景
7077 Master与Worker通信 spark.master.port 集群内部心跳、任务分配
8080 Master Web UI spark.master.ui.port 浏览器查看集群状态
8081 Worker Web UI spark.worker.ui.port 浏览器查看单个Worker状态
4040 运行中应用UI spark.ui.port 查看任务执行进度和日志
18080 历史服务器UI spark.history.ui.port 应用跑完后复盘日志
6066 REST提交端口 spark.rest.port 通过HTTP方式提交任务

spark 7077端口配置:Master与Worker的通信枢纽

7077是Spark集群的“内线电话”,专门负责Master和Worker之间的心跳通信和任务调度,默认情况下,Worker会主动去连Master的7077端口,报告自己还剩多少内存和CPU,如果这个端口被占用或者防火墙拦了,你会看到Worker节点一直提示“Application ID”为空,或者压根连不上Master。

修改方式很简单,打开spark-env.sh文件,在底部加一行:

export SPARK_MASTER_PORT=7078

注意,这里有个容易踩的坑:spark-env.sh里设置的是Master的监听端口,但Worker那边也要知道新的端口号才能连过来,如果Worker和Master在同一个集群,start-all.sh脚本会读取同一份conf目录配置,通常没问题,但如果你在Worker机器上单独改了Master的IP,却忘了同步端口,就会出现“能ping通IP但连不上服务”的诡异情况。

spark 8080端口无法访问?先检查Master和Worker的Web UI

spark服务器端口有哪些,默认端口号是多少

8080是Master的“展示橱窗”,浏览器打开http://master-ip:8080就能看到集群总览,包括挂载了多少Worker、每个Worker还剩多少资源、当前跑了哪些应用,排查思路如下:

  1. 先确认进程在不在:执行jps命令,看有没有Master进程。
  2. 再确认监听地址:执行netstat -tlnp | grep 8080,看是不是监听在0.0.0上,如果只监听了0.0.1,那别的机器当然访问不了,这时候去spark-env.sh里检查SPARK_MASTER_HOST或SPARK_LOCAL_IP有没有误设成localhost。
  3. 最后确认防火墙:关闭firewalld或者放行端口,CentOS里通常执行systemctl stop firewalld测试,或者用firewall-cmd --add-port=8080/tcp --permanent精确放行。

Worker的Web UI端口是8081,逻辑完全一样,值得一提的一点是,8080端口有时候会被其他软件占用,比如Tomcat,如果发现Master进程起来了,但8080就是打不开,大概率是端口被抢了,改一下spark-env.sh里的SPARK_MASTER_WEBUI_PORT就好。

集群模式下需要重点关注的端口

除了Master和Worker,真正跑任务的时候还会涉及其他端口,这些端口往往被忽略,但恰恰是报错的根源。

spark web ui 4040端口:每个应用独占的监控窗口

4040是个特殊端口,它不像7077和8080那样是“常驻”的,而是每启动一个SparkContext就会占用一个4040端口。

比如说你在YARN集群上跑Spark,或者本地用spark-submit提交任务,日志里通常会打印一行INFO SparkUI: Bound SparkUI to 0.0.0.0, and started at http://node1:4040,这就是当前这个应用的专属监控页面,能看到Stage划分、每个Executor的内存使用曲线、SQL执行计划等细节。

这个端口的特点是“用完即走”,应用结束,4040端口就释放了,如果你连续提交了多个应用,第一个占4040,第二个自动分配4041,以此类推,如果找不到4040页面,看看是不是运行时的Driver跑在了别的机器上,需要去那台机器访问,而不是在提交任务的客户端上看。

18080与历史服务器端口:复盘任务的入口

默认情况下,Spark应用跑完,监控数据就没了,想回看某个任务为什么慢,就得靠History Server,它的默认端口是18080,配置项在spark-defaults.conf里:

spark.history.ui.port=18080
spark.history.fs.logDirectory=hdfs://node1:9000/spark-logs

启动方式是你自己执行sbin/start-history-server.sh

spark服务器端口有哪些,默认端口号是多少

,而不是随Master自动启动,启动完之后,再打开http://master-ip:18080,就能看到所有历史应用的列表,点进去之后,页面长相和4040几乎一模一样,区别在于数据来自HDFS或本地目录里的eventLog文件。

这里有个实用建议:在spark-defaults.conf里务必开启spark.eventLog.enabled=true,否则History Server会显示空白,什么都看不到。

修改端口与排查冲突的实操方法

端口冲突是Spark运维里最常碰到的头疼问题,典型场景是这样的:你跑了两个Spark集群共用一台机器,第二个集群的Master想启动,结果发现7077被第一个集群占了,解决办法只有两个方向:改配置,或者杀进程,改配置是正道。

修改端口后重启才生效的完整流程

  1. 编辑${SPARK_HOME}/conf/spark-env.sh,加入所需端口配置。
  2. 编辑${SPARK_HOME}/conf/spark-defaults.conf,加入UI相关端口配置。
  3. 重启集群:先stop-all.sh,再start-all.sh。
  4. 验证结果:netstat -tlnp | grep 7077,确认新端口已监听。

有个很容易忽略的细节:spark-defaults.conf里的配置项,如果同时在spark-submit命令行里用--conf指定了,命令行的优先生效,所以改了文件但没生效的时候,先想想启动命令里是不是加了覆盖参数。

排查端口占用时,推荐三连命令:

lsof -i:8080
netstat -tlnp | grep 8080
ps -ef | grep spark

这三个命令分别看文件占用、网络监听和进程归属,基本能定位绝大多数冲突问题,业内专家指出,80%的端口问题都不是配置写错,而是防火墙规则或进程残留导致的,优先检查这两块,比反复改配置更高效。

散落在不同角色下的端口一览

配置项 默认值 作用对象
spark.driver.port 随机 Driver通信端口,可固定以避免冲突
spark.blockManager.port 随机 跨节点数据块传输,BlockManager上报端口
spark.fileserver.port 随机 文件服务端口,用于分发Jar包
spark.replClassServer.port 随机 Spark-shell交互式解析用
spark.executor.port 随机 Executor与Driver的后台连接

这些“随机”端口在跨云部署或安全要求高的环境里特别容易出问题,比如公司只开放了指定几个端口给服务器之间互通,那随机端口就全被拦死了,解决办法是在

spark服务器端口有哪些,默认端口号是多少

spark-defaults.conf里显式指定它们,

spark.driver.port=7079
spark.blockManager.port=7080
spark.executor.port=7081

固定下来之后,安全组规则也好配,防火墙策略也好写。

云端部署时的端口与安全组设置

不管是简米云还是酷番云,你在控制台改了安全组放行端口,但Spark页面还是打不开,这时候就得看服务器内部防火墙和Spark监听地址了,云服务器的安全组相当于小区的门禁,但机房内部防火墙(firewalld/iptables)才是房间的锁,两者都要放行。

云平台 安全组操作入口 需要放行的端口
简米云ECS 实例→安全组→入方向 7077、8080、8081、18080、4040
酷番云CVM 实例→防火墙→添加规则 同上,注意区分TCP/UDP
AWS EC2 Security Groups→Inbound Rules 同上,需自定义TCP规则

对于部署在云上的Spark集群,子网隔离也需要留意,如果Master和Worker在不同的子网,跨子网通信的ACL规则漏配了,日志里会反复出现”Unable to connect to Master”之类的报错。

行业共识认为,端口规划这件事,在搭建集群之前就应当画一张表出来,写清楚哪个角色用哪个端口,IP和端口一一对应,毕竟Spark本身设计得足够灵活,端口随意换都能跑,但运维成本会跟着配置复杂度上升,提前规划好,后面排查问题会省掉大量时间。

Spark端口常见问题解答

Spark 4040页面可以同时看多个应用吗?

不可以,4040端口是跟随SparkContext的,每个应用独占一个端口,第一个应用占4040,第二个自动递增到4041,想集中看所有应用,必须依赖History Server的18080端口。

改了spark-env.sh里的SPARK_MASTER_PORT,Worker连接时报错Address already in use,什么原因?

通常是端口没释放干净,旧Master进程可能还在占用原端口,新配置的端口又被别的服务占了,执行jps查看Master进程PID,用kill -9杀掉后再重启。

Spark的端口体系理解透了,排查集群故障的思路就清晰了一半,记住一句话:7077管通信,8080管展示,4040管现场,18080管复盘,下次再遇到连不上的问题,按这个思路去核对,十有八九能定位到症结。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/article/691079.html

赞 (0)
vue2.0项目如何部署服务器?,vue项目部署步骤是什么?
上一篇 2026年9月26日 12:13
综合类服务器到底有哪些?,哪个品牌更靠谱?
下一篇 2026年9月26日 12:15

相关推荐

  • HTML5开发步骤有哪些?html5开发流程详解

    HTML5开发的核心步骤包括环境搭建、语义化结构编写、CSS3样式布局、JavaScript交互逻辑实现以及多终端兼容性测试,最终通过服务器部署上线,如今做网页开发,早已不是单纯地堆砌代码,而是构建一个能在手机、平板、电脑上都流畅运行的体验,HTML5作为基石,其开发流程如果梳理清晰,能省去后期大量的调试时间……

    2026年6月10日
    3400
  • 为什么.icu域名全球畅销?.icu域名注册价格

    .icu域名之所以能成为全球最畅销的域名之一,核心在于其极低的注册门槛、鲜明的极客文化属性以及针对初创企业和创意个人的高性价比定位,极客文化的符号化与品牌年轻化在互联网早期,域名后缀往往代表着机构的性质,如.com代表商业,.org代表非营利组织,随着Web 2.0时代的深入,这种刻板印象被打破,.icu这个后……

    2026年6月22日
    1900
  • 怎么查自己已开通的服务器?,查看方式有哪些

    查开通服务器的唯一准确渠道是登录各云厂商的官网控制台,结合支付宝/微信的扣费记录反向核对,就能在10分钟内摸清全部家底,很多人手里握着三四台服务器,却想不起来是在哪家买的、什么时候到期,甚至每年都在稀里糊涂地续费,别慌,这篇文章把查询路径、操作步骤和避坑技巧一次说透,怎么查自己名下的服务器:先分清“云服务器”和……

    服务器宽带 2026年11月11日
    300
  • 全光服务器系统到底有哪些?,怎么选最合适?

    全光服务器系统按技术路径可以分为光互连服务器系统、光交换服务器系统和光计算服务器系统,目前主流商用集中在光互连和光交换这两类, 你可能听过全光网络,但全光服务器系统并不是简单把网线换成光纤,而是把光技术渗透到服务器内部,让数据在芯片之间、板卡之间、机架之间全程用光信号跑,这篇文章从分类、对比、选型到部署,一次讲……

    2026年10月5日
    300
  • 绑定域名后解析失败如何解决?,域名解析生效一般要多久?

    绑定域名后解析失败,绝大多数问题出在域名DNS服务器未指向主机商或解析记录类型填错,按照下文5个步骤依次排查,10分钟内可定位问题,解析失败前的第一个动作:确认解析是否真的生效新手最容易犯的错,是把“解析没生效”和“解析失败”混为一谈,域名解析本身需要时间,并不是添加了记录就立刻全球生效,你可以先打开电脑的命令……

    2026年9月6日
    500
  • HTML如何直接输出数据库?HTML读取数据库数据

    将HTML直接输出为数据库文件并非通过单一按钮实现,而是需要通过后端脚本解析HTML结构并写入SQLite或CSV等格式,核心在于提取DOM节点数据而非存储页面本身,HTML与数据库的本质差异及转换逻辑很多人误以为HTML文件本身就是一种数据库,这种认知偏差导致了大量无效的技术尝试,HTML(超文本标记语言)是……

    服务器宽带 2026年6月12日
    7110
  • 国产集群服务器有哪些品牌,国产集群服务器哪家好?

    国内能做集群服务器的厂商,主流是浪潮、新华三、超聚变、中科可控、宝德这几家, 它们的服务器搭载海光、鲲鹏、飞腾等国产芯片,组网后可以跑AI训练、大数据分析等重活,高端市场里浪潮和超聚变占的份额大一些,中科可控和宝德在政企项目里也相当常见,这个局面行业内已基本形成共识,国产集群服务器品牌有哪些:主流厂商与产品线盘……

    2026年10月15日
    400
  • 如何启用网站HTML静态化,HTML静态化有什么好处?

    启用网站HTML静态化是提升网站加载速度与搜索引擎友好度的核心操作,其本质是将动态页面转换为纯静态HTML文件,从而降低服务器负载并加速用户访问,为什么网站静态化成为SEO优化的关键环节动态网站通过脚本实时生成页面,每次请求都会消耗服务器资源,而静态HTML文件直接由服务器返回,无需后端解析,这种差异在访问量上……

    2026年8月1日
    1200
  • 修改域名和更换域名有何区别,对网站有什么影响?

    修改域名是在原有站点基础上做技术层面的调整,权重和排名可以延续;更换域名则是放弃旧域名重新开始,SEO积累几乎归零,两者在操作难度、成本投入和搜索引擎处理逻辑上完全不同,很多站长把这两个概念混为一谈,导致操作失误后网站流量断崖式下跌,域名修改和更换的定义边界在哪里在讨论域名修改和更换的区别之前,先把两个概念彻底……

    2026年9月7日
    1200
  • 虚拟机屏幕比例怎么调整?显示异常如何修复?

    虚拟机屏幕比例异常通常是因为客户机未安装增强工具或分辨率设置不匹配,安装增强工具并手动调整分辨率即可解决,虚拟机屏幕比例不对的常见表现与原因很多人在使用虚拟机时都遇到过这样的场景:打开虚拟机窗口,系统桌面在屏幕中间缩成一团,四周全是黑边;或者桌面被拉伸变形,图标和文字都变成“矮胖”或“细高”样子;更有甚者,窗口……

    2026年9月1日
    800

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注