Spark2.2出现异常:ERROR SparkUI: Failed to bind SparkUI
详细错误信息如下:
复制代码
19/03/19 11:04:18 INFO util.log: Logging initialized @5402ms
19/03/19 11:04:18 INFO server.Server: jetty-9.3.z-SNAPSHOT
19/03/19 11:04:18 INFO server.Server: Started @5604ms
19/03/19 11:04:18 WARN util.Utils: Service ‘SparkUI’ could not bind on port 4040. Attempting port 4041.
19/03/19 11:04:18 WARN util.Utils: Service ‘SparkUI’ could not bind on port 4041. Attempting port 4042.
19/03/19 11:04:18 WARN util.Utils: Service ‘SparkUI’ could not bind on port 4042. Attempting port 4043.
19/03/19 11:04:18 WARN util.Utils: Service ‘SparkUI’ could not bind on port 4043. Attempting port 4044.
19/03/19 11:04:18 WARN util.Utils: Service ‘SparkUI’ could not bind on port 4044. Attempting port 4045.
19/03/19 11:04:18 WARN util.Utils: Service ‘SparkUI’ could not bind on port 4045. Attempting port 4046.
19/03/19 11:04:18 WARN util.Utils: Service ‘SparkUI’ could not bind on port 4046. Attempting port 4047.
19/03/19 11:04:18 WARN util.Utils: Service ‘SparkUI’ could not bind on port 4047. Attempting port 4048.
19/03/19 11:04:18 WARN util.Utils: Service ‘SparkUI’ could not bind on port 4048. Attempting port 4049.
19/03/19 11:04:18 WARN util.Utils: Service ‘SparkUI’ could not bind on port 4049. Attempting port 4050.
19/03/19 11:04:18 WARN util.Utils: Service ‘SparkUI’ could not bind on port 4050. Attempting port 4051.
19/03/19 11:04:18 WARN util.Utils: Service ‘SparkUI’ could not bind on port 4051. Attempting port 4052.
19/03/19 11:04:18 WARN util.Utils: Service ‘SparkUI’ could not bind on port 4052. Attempting port 4053.
19/03/19 11:04:18 WARN util.Utils: Service ‘SparkUI’ could not bind on port 4053. Attempting port 4054.
19/03/19 11:04:18 WARN util.Utils: Service ‘SparkUI’ could not bind on port 4054. Attempting port 4055.
19/03/19 11:04:18 WARN util.Utils: Service ‘SparkUI’ could not bind on port 4055. Attempting port 4056.
19/03/19 11:04:18 ERROR ui.SparkUI: Failed to bind SparkUI
java.net.BindException: 地址已在使用: Service ‘SparkUI’ failed after 16 retries (starting from 4040)! Consider explicitly setting the appropriate port for the service ‘SparkUI’ (for example spark.ui.port for SparkUI) to an available port or increasing spark.port.maxRetries.
at sun.nio.ch.Net.bind0(Native Method)
at sun.nio.ch.Net.bind(Net.java:433)
at sun.nio.ch.Net.bind(Net.java:425)
at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)
at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
at org.spark_project.jetty.server.ServerConnector.open(ServerConnector.java:317)
at org.spark_project.jetty.server.AbstractNetworkConnector.doStart(AbstractNetworkConnector.java:80)
at org.spark_project.jetty.server.ServerConnector.doStart(ServerConnector.java:235)
at org.spark_project.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
at org.apache.spark.ui.JettyUtils . o r g .org .orgapache s p a r k spark sparkui J e t t y U t i l s JettyUtils JettyUtils$newConnector 1 ( J e t t y U t i l s . s c a l a : 333 ) a t o r g . a p a c h e . s p a r k . u i . J e t t y U t i l s 1(JettyUtils.scala:333) at org.apache.spark.ui.JettyUtils 1(JettyUtils.scala:333)atorg.apache.spark.ui.JettyUtils.org a p a c h e apache apachespark u i ui uiJettyUtilsKaTeX parse error: Can't use function '$' in math mode at position 12: httpConnect$̲1(JettyUtils.sc…anonfun 7. a p p l y ( J e t t y U t i l s . s c a l a : 368 ) a t o r g . a p a c h e . s p a r k . u i . J e t t y U t i l s 7.apply(JettyUtils.scala:368) at org.apache.spark.ui.JettyUtils 7.apply(JettyUtils.scala:368)atorg.apache.spark.ui.JettyUtils$anonfun 7. a p p l y ( J e t t y U t i l s . s c a l a : 368 ) a t o r g . a p a c h e . s p a r k . u t i l . U t i l s 7.apply(JettyUtils.scala:368) at org.apache.spark.util.Utils 7.apply(JettyUtils.scala:368)atorg.apache.spark.util.Utils a n o n f u n anonfun anonfunstartServiceOnPort 1. a p p l y 1.apply 1.applymcVI s p ( U t i l s . s c a l a : 2237 ) a t s c a l a . c o l l e c t i o n . i m m u t a b l e . R a n g e . f o r e a c h sp(Utils.scala:2237) at scala.collection.immutable.Range.foreach sp(Utils.scala:2237)atscala.collection.immutable.Range.foreachmVc s p ( R a n g e . s c a l a : 160 ) a t o r g . a p a c h e . s p a r k . u t i l . U t i l s sp(Range.scala:160) at org.apache.spark.util.Utils sp(Range.scala:160)atorg.apache.spark.util.Utils.startServiceOnPort(Utils.scala:2229)
at org.apache.spark.ui.JettyUtils . s t a r t J e t t y S e r v e r ( J e t t y U t i l s . s c a l a : 368 ) a t o r g . a p a c h e . s p a r k . u i . W e b U I . b i n d ( W e b U I . s c a l a : 130 ) a t o r g . a p a c h e . s p a r k . S p a r k C o n t e x t .startJettyServer(JettyUtils.scala:368) at org.apache.spark.ui.WebUI.bind(WebUI.scala:130) at org.apache.spark.SparkContext .startJettyServer(JettyUtils.scala:368)atorg.apache.spark.ui.WebUI.bind(WebUI.scala:130)atorg.apache.spark.SparkContext$anonfun 11. a p p l y ( S p a r k C o n t e x t . s c a l a : 460 ) a t o r g . a p a c h e . s p a r k . S p a r k C o n t e x t 11.apply(SparkContext.scala:460) at org.apache.spark.SparkContext 11.apply(SparkContext.scala:460)atorg.apache.spark.SparkContext$anonfun 11. a p p l y ( S p a r k C o n t e x t . s c a l a : 460 ) a t s c a l a . O p t i o n . f o r e a c h ( O p t i o n . s c a l a : 257 ) a t o r g . a p a c h e . s p a r k . S p a r k C o n t e x t . < i n i t > ( S p a r k C o n t e x t . s c a l a : 460 ) a t o r g . a p a c h e . s p a r k . S p a r k C o n t e x t 11.apply(SparkContext.scala:460) at scala.Option.foreach(Option.scala:257) at org.apache.spark.SparkContext.<init>(SparkContext.scala:460) at org.apache.spark.SparkContext 11.apply(SparkContext.scala:460)atscala.Option.foreach(Option.scala:257)atorg.apache.spark.SparkContext.<init>(SparkContext.scala:460)atorg.apache.spark.SparkContext.getOrCreate(SparkContext.scala:2509)
at org.apache.spark.sql.SparkSession B u i l d e r Builder Builder$anonfun 6. a p p l y ( S p a r k S e s s i o n . s c a l a : 909 ) a t o r g . a p a c h e . s p a r k . s q l . S p a r k S e s s i o n 6.apply(SparkSession.scala:909) at org.apache.spark.sql.SparkSession 6.apply(SparkSession.scala:909)atorg.apache.spark.sql.SparkSessionBuilderKaTeX parse error: Can't use function '$' in math mode at position 8: anonfun$̲6.apply(SparkSe…runMain(SparkSubmit.scala:755)
at org.apache.spark.deploy.SparkSubmit$.doRunMain 1 ( S p a r k S u b m i t . s c a l a : 180 ) a t o r g . a p a c h e . s p a r k . d e p l o y . S p a r k S u b m i t 1(SparkSubmit.scala:180) at org.apache.spark.deploy.SparkSubmit 1(SparkSubmit.scala:180)atorg.apache.spark.deploy.SparkSubmit.submit(SparkSubmit.scala:205)
at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:119)
at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)
复制代码
错误原因:
每一个Spark任务都会占用一个SparkUI端口,默认为4040,如果被占用则依次递增端口重试。但是有个默认重试次数,为16次。16次重试都失败后,会放弃该任务的运行。
解决方法
初始化SparkConf时,添加conf.set(“spark.port.maxRetries”,“100”)语句;使用spark-submit提交任务时,在启动命令行中添加–conf spark.port.maxRetries=100 \
相关文章:
Spark2.2出现异常:ERROR SparkUI: Failed to bind SparkUI
详细错误信息如下: 复制代码 19/03/19 11:04:18 INFO util.log: Logging initialized 5402ms 19/03/19 11:04:18 INFO server.Server: jetty-9.3.z-SNAPSHOT 19/03/19 11:04:18 INFO server.Server: Started 5604ms 19/03/19 11:04:18 WARN util.Utils: Service ‘S…...
LeetCode 2811. Check if it is Possible to Split Array【脑筋急转弯;前缀和+动态规划或记忆化DFS】中等
本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章…...
【学习日记】【FreeRTOS】链表结构体及函数详解
写在前面 本文主要是对于 FreeRTOS 中链表相关内容的详细解释,代码大部分参考了野火FreeRTOS教程配套源码,作了一小部分修改。 一、结构体定义 主要包含三种结构体: 普通节点结构体结尾节点(mini节点)结构体链表结…...
【云原生•监控】基于Prometheus实现自定义指标弹性伸缩(HPA)
【云原生•监控】基于Prometheus实现自定义指标弹性伸缩(HPA) 什么是弹性伸缩 「Autoscaling即弹性伸缩,是Kubernetes中的一种非常核心的功能,它可以根据给定的指标(例如 CPU 或内存)自动缩放Pod副本,从而可以更好地管…...
Windows、 Linux 等操作系统的基本概念及其常见操作
Windows 和 Linux 是两种常见的操作系统,它们在计算机领域中广泛使用。下面我将为您介绍它们的基本概念以及一些常见的操作。 **Windows 操作系统:** 1. **基本概念:** Windows 是由微软公司开发的操作系统系列,旨在为个人计算机…...
【RabbitMQ】golang客户端教程5——使用topic交换器
topic交换器(主题交换器) 发送到topic交换器的消息不能具有随意的routing_key——它必须是单词列表,以点分隔。这些词可以是任何东西,但通常它们指定与消息相关的某些功能。一些有效的routing_key示例:“stock.usd.ny…...
SpringBoot对接OpenAI
SpringBoot对接OpenAI 随着人工智能技术的飞速发展,越来越多的开发者希望将智能功能集成到自己的应用中,以提升用户体验和应用的功能。OpenAI作为一家领先的人工智能公司,提供了许多先进的自然语言处理和语言生成模型,其中包括深…...
(C++)继承
目录 1.继承的概念及定义 1.1继承的概念 1.2继承定义 1.2.1定义格式 1.2.2继承方式和访问限定符 1.2.3继承基类成员访问方式的变化 2.基类和派生类对象赋值转换 3.继承中的作用域 4.派生类的默认成员函数 5.继承与友元 6.继承与静态成员 7.复杂的菱形继承及菱形虚拟…...
图像处理技巧形态学滤波之膨胀操作
1. 引言 欢迎回来,我的图像处理爱好者们!今天,让我们继续研究图像处理领域中的形态学计算。在本篇中,我们将重点介绍腐蚀操作的反向效果膨胀操作。 闲话少说,我们直接开始吧! 2. 膨胀操作原理 膨胀操作…...
机器学习基础之《特征工程(4)—特征降维》
一、什么是特征降维 降维是指在某些限定条件下,降低随机变量(特征)个数,得到一组“不相关”主变量的过程 1、降维 降低维度 ndarry 维数:嵌套的层数 0维:标量,具体的数0 1 2 3... …...
学生管理系统(Python版本)
class Student:def __init__(self, id, name, age):self.id idself.name nameself.age ageclass StudentManagementSystem:def __init__(self):self.students []def add_student(self, student):self.students.append(student)print("学生信息添加成功!&qu…...
Linux下快速创建大文件的4种方法总结
1、使用 dd 命令创建大文件 dd 命令用于复制和转换文件,它最常见的用途是创建实时 Linux USB。dd 命令是实际写入硬盘,文件产生的速度取决于硬盘的读写速度,根据文件的大小,该命令将需要一些时间才能完成。 假设我们要创建一个名…...
用 Rufus 制作 Ubuntu 系统启动盘时,选择分区类型为MBR还是GPT?
当使用 Rufus 制作 Ubuntu 系统启动盘时,您可以根据您的需求选择分区类型,MBR(Master Boot Record)还是 GPT(GUID Partition Table)。 MBR 是传统的分区表格式,适用于大多数旧版本的操作系统和旧…...
Nodejs+vue+elementui汽车租赁管理系统_1ma2x
语言 node.js 框架:Express 前端:Vue.js 数据库:mysql 数据库工具:Navicat 开发软件:VScode 前端nodejsvueelementui, 课题主要分为三大模块:即管理员模块、用户模块和普通管理员模块,主要功能包括&#…...
Prometheus入门
Prometheus(普罗米修斯) 是一种 新型监控告警工具,Kubernetes 的流行带动了 Prometheus 的应用。 全文参考自 prometheus 学习笔记(1)-mac 单机版环境搭建[1] Mac 上安装 Prometheus brew install prometheus 安装路径在 /usr/local/Cellar/prometheus/2.20.1, 配置文件在 /usr…...
RISC-V云测平台:Compiling The Fedora Linux Kernel Natively on RISC-V
注释:编译Fedora,HS-2 64核RISC-V服务器比Ryzen5700x快两倍! --- 以下是blog 正文 --- # Compiling The Fedora Linux Kernel Natively on RISC-V ## Fedora RISC-V Support There is ongoing work to Fedora to support RISC-V hardwar…...
Vim学习(三)—— Git Repo Gerrit
Git、Gerrit、Repo三者的概念及使用 三者各自作用: git:版本管理库,在git库中没有中心服务器的概念,真正的分布式。 repo:repo就是多个git库的管理工具。如果是多个git库同时管理,可以使用repo。当然使用…...
论坛项目之用户部分
注册接口 实现思路 1.特殊字段检查(比如性别没有给出需要给出默认值) 2.对比检查两次输入的密码是否一致,不一致报错 3.利用UUID生成随机‘盐’值,并使用密码进行MD5加密后与‘盐’进行拼接,生成加密后的密码 4.创建U…...
golang内存对齐
为什么要内存对齐? CPU访问内存时,以CPU的位数为单位进行访问。 如果访问未对齐的内存,处理器需要做两次内存访问,对齐的内存的访问可能仅需要一次,利用内存对齐后提升读取速度。 golang结构体内存对齐规则 在代码编译…...
【CheatSheet】Python、R、Julia数据科学编程极简入门
《Python、R、Julia数据科学编程极简入门》PDF版,是我和小伙伴一起整理的备忘清单,帮助大家10分钟快速入门数据科学编程。 另外,最近 TIOBE 公布了 2023 年 8 月的编程语言排行榜。 Julia 在本月榜单中实现历史性突破,成功跻身 …...
观成科技:隐蔽隧道工具Ligolo-ng加密流量分析
1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具,该工具基于TUN接口实现其功能,利用反向TCP/TLS连接建立一条隐蔽的通信信道,支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式,适应复杂网…...
云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?
大家好,欢迎来到《云原生核心技术》系列的第七篇! 在上一篇,我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在,我们就像一个拥有了一块崭新数字土地的农场主,是时…...
自然语言处理——循环神经网络
自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元(GRU)长短期记忆神经网络(LSTM)…...
AI书签管理工具开发全记录(十九):嵌入资源处理
1.前言 📝 在上一篇文章中,我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源,方便后续将资源打包到一个可执行文件中。 2.embed介绍 🎯 Go 1.16 引入了革命性的 embed 包,彻底改变了静态资源管理的…...
稳定币的深度剖析与展望
一、引言 在当今数字化浪潮席卷全球的时代,加密货币作为一种新兴的金融现象,正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而,加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下,稳定…...
使用Spring AI和MCP协议构建图片搜索服务
目录 使用Spring AI和MCP协议构建图片搜索服务 引言 技术栈概览 项目架构设计 架构图 服务端开发 1. 创建Spring Boot项目 2. 实现图片搜索工具 3. 配置传输模式 Stdio模式(本地调用) SSE模式(远程调用) 4. 注册工具提…...
Python Ovito统计金刚石结构数量
大家好,我是小马老师。 本文介绍python ovito方法统计金刚石结构的方法。 Ovito Identify diamond structure命令可以识别和统计金刚石结构,但是无法直接输出结构的变化情况。 本文使用python调用ovito包的方法,可以持续统计各步的金刚石结构,具体代码如下: from ovito…...
DingDing机器人群消息推送
文章目录 1 新建机器人2 API文档说明3 代码编写 1 新建机器人 点击群设置 下滑到群管理的机器人,点击进入 添加机器人 选择自定义Webhook服务 点击添加 设置安全设置,详见说明文档 成功后,记录Webhook 2 API文档说明 点击设置说明 查看自…...
4. TypeScript 类型推断与类型组合
一、类型推断 (一) 什么是类型推断 TypeScript 的类型推断会根据变量、函数返回值、对象和数组的赋值和使用方式,自动确定它们的类型。 这一特性减少了显式类型注解的需要,在保持类型安全的同时简化了代码。通过分析上下文和初始值,TypeSc…...
Oracle11g安装包
Oracle 11g安装包 适用于windows系统,64位 下载路径 oracle 11g 安装包...
