首页 > 其他分享 >内核参数引起的服务启动失败

内核参数引起的服务启动失败

时间:2024-11-28 21:47:19浏览次数:6  
标签:ip 配置 端口 range 失败 内核 参数 local port

报错现象

err: listen tcp 10.123.45.78:50001: bind: address already in use
每次启动都报错,业务反馈服务启动后只会主动监听这一个端口所以因为逻辑错误引起的端口冲突可以排除

分析原因 观察服务器现象

本地localport 占用了50001 造成服务启动失败。因为服务启动时 socket=ip+port
netstat -antp 查看 服务端口竟然从50001开始 如下图
image
当服务初始化时,例如链接数据库等操作,会占用50001端口造成启动失败

cat /proc/sys/net/ipv4/ip_local_reserved_ports
10000-50000

问题分析并解决

ip_local_reserved_portsip_local_port_range是两个与本地端口分配相关的参数,它们可以通过sysctl接口进行配置。以下是它们的详细说明、默认配置以及最佳配置建议:

  1. ip_local_reserved_ports

    • 作用ip_local_reserved_ports参数用于指定一组保留端口,这些端口不会被普通用户的应用程序使用。这些端口通常被系统服务或特权应用程序使用。
    • 默认配置:默认情况下,该参数通常未设置,即没有保留端口。
    • 最佳配置:对于生产系统,建议根据实际需要配置一组保留端口,以避免这些端口被普通应用程序占用。例如,可以将一些常用的系统服务端口列入保留列表。
  2. ip_local_port_range

    • 作用ip_local_port_range参数定义了操作系统用于分配本地端口的范围。新的连接会从这个范围内选择一个空闲的端口。
    • 默认配置:默认情况下,Linux系统的ip_local_port_range参数通常设置为32768 65535,即从32768到65535之间的端口范围。
    • 最佳配置:最佳配置取决于系统的需求,但通常建议保持默认配置。如果你遇到端口耗尽问题,可以考虑适当调整端口范围,但请注意避免与其他系统服务或应用程序的端口冲突。

最佳配置建议取决于具体的系统需求和应用场景。在调整这些参数之前,请确保充分了解其作用,并在生产环境之前进行充分的测试。同时,建议根据实际情况监控系统的端口使用情况,以便及时调整配置以满足系统需求。

另外再k8s 中
在修改 NodePort 端口范围时必须十分谨慎。务必保证 NodePort 端口范围与集群节点上 Linux 内核提供的 net.ipv4.ip_local_port_range 参数中的端口范围不冲突。该内核参数 ip_local_port_range 控制了 Linux 系统上任意应用程序可以使用的本地端口号范围。ip_local_port_range 的默认值为 32768~60999,Nodeport 默认值为 30000~32767。

标签:ip,配置,端口,range,失败,内核,参数,local,port
From: https://www.cnblogs.com/leleyao/p/18575276

相关文章

  • 16Java集合进阶(Set、Map集合、可变参数、斗地主案例)
    请先看我上篇文章15Java集合进阶(异常、集合)-CSDN博客一、Set系列集合1.1认识Set集合的特点Set集合是属于Collection体系下的另一个分支,它的特点如下图所示下面我们用代码简单演示一下,每一种Set集合的特点。//Set<Integer>set=newHashSet<>(); //无序、无索引、不重......
  • golang实现比特币内核:区块链交易“transaction“二进制数据结构解析和代码实现1
    对于比特币,最重要的组成部分是交易。如果你需要通过比特币与他人交易,你可能需要像支付购买商品或服务一样,将一些比特币发送给他人。交易有四个关键字段,它们是版本、输入、输出和锁定时间。交易的二进制内容可能因不同的版本而有所不同,我们需要解析版本号以决定如何解码交易......
  • 告别那个不合格且失败的机器人讲师
    从此文及以后,所有课程改革全部停止,将采用传统方式授课,直到离开教学岗位。2024年11月25日过错 24-25-1学期,两门专业课,理论课到课率20%,人数通常在10-20之间,由于个人讲课水平有限,不能有效吸引学生来上课,责任全在我个人;一门中外合作班课程,上课听课人数也呈现出逐渐下滑趋势......
  • RCD负载箱的技术参数和规格有哪些需要注意的?
    RCD(ResidualCurrentDevice)负载箱是一种用于检测剩余电流的装置,广泛应用于电气设备、电力系统和建筑等领域。在购买和使用RCD负载箱时,需要关注一些技术参数和规格,以确保其性能和安全性能满足使用要求。以下是一些需要注意的RCD负载箱技术参数和规格:额定电压:RCD负载箱的额定电压......
  • vue2-解决node-sass安装失败问题,提示python缺失
    当前NodeJs版本v18.16.0Node-Sass与NodeJs版本关系对照图安装Node-Sass报错提示截图原因分析node-sass的代码主要是C++实现,运行node-sass需要进行编译后再运行,而python可以为node-sass提供运行时编译环境,所以正常情况下下载node-sass源代码同时会检查python的安装,确保正常......
  • Allegro 如何导出封装 / 导入DXF结构图 / 导入导出参数
    一、导出封装准备练习板子时,已经有完整的PCB板,但是没有封装库。那就可以从板上导出封装,再放到正确的文件夹中。直接上图:1.选择文件-导出-封装库 2.全选下面的选项,设置导出的路径,如果不设置就默认存放在当前的PCB文件夹中,在点击Export。3.在新的PCB上设置封装路径 ......
  • RestTemplate exchange GET POST请求传参数DEMO
    RestTemplateexchangeGETPOST请求传参数DEMOlink:Illegalcharacter((CTRL-CHAR,code31))问题排查gzip接口返回RestTemplateGETPOST请求https://www.cnblogs.com/oktokeep/p/16769602.htmlimportorg.slf4j.Logger;importorg.slf4j.LoggerFactory;importorg.spr......
  • 莫名原因启动失败-元数据不一致-清理元数据-重建表-同步数据
    背景2024年11月27日,不知道咋回事,6节点的clickhouse集群(6节点,3分片)中的第5个节点启动不起来了。然后我就经历了一场查原因→删除clickhouse元数据→清理zookeeper数据→clickhouse重建表→同步副本数据的过程;查询启动不起来的原因[root@clickhouse5~]#tail-f/var/log/clickh......
  • SpringMVC接收请求参数
    (5)请求参数==》五种普通参数1.普通参数代码块@RequestMapping("/commonParam")@ResponseBodypublicStringcommonParam(Stringname,intage){ System.out.println("普通参数传递name==>"+name); System.out.println("普通参数传递age==>"+age);......
  • 【C++】C++11新特性详解:可变参数模板与emplace系列的应用
    C++语法相关知识点可以通过点击以下链接进行学习一起加油!命名空间缺省参数与函数重载C++相关特性类和对象-上篇类和对象-中篇类和对象-下篇日期类C/C++内存管理模板初阶String使用String模拟实现Vector使用及其模拟实现List使用及其模拟实现容器适配器Stack与QueuePriority......