您好,欢迎访问代理记账网站
移动应用 微信公众号 联系我们

咨询热线 -

电话 15988168888

联系客服
  • 价格透明
  • 信息保密
  • 进度掌控
  • 售后无忧

RocketMQ启动mqnamesrv报错Address already in use

目录

  • 一、问题描述
  • 二、解决方法


一、问题描述

RocketMQ 启动 mqnamesrv 报错:

Java HotSpot(TM) 64-Bit Server VM warning: Using the DefNew young collector with the CMS collector is deprecated and will likely be removed in a future release
Java HotSpot(TM) 64-Bit Server VM warning: UseCMSCompactAtFullCollection is deprecated and will likely be removed in a future release.
Java HotSpot(TM) 64-Bit Server VM warning: MaxNewSize (524288k) is equal to or greater than the entire heap (524288k).  A new max generation size of 524224k will be used.
java.net.BindException: Address already in use
        at sun.nio.ch.Net.bind0(Native Method)
        at sun.nio.ch.Net.bind(Net.java:438)
        at sun.nio.ch.Net.bind(Net.java:430)
        at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:225)
        at io.netty.channel.socket.nio.NioServerSocketChannel.doBind(NioServerSocketChannel.java:134)
        at io.netty.channel.AbstractChannel$AbstractUnsafe.bind(AbstractChannel.java:562)
        at io.netty.channel.DefaultChannelPipeline$HeadContext.bind(DefaultChannelPipeline.java:1334)
        at io.netty.channel.AbstractChannelHandlerContext.invokeBind(AbstractChannelHandlerContext.java:506)
        at io.netty.channel.AbstractChannelHandlerContext.bind(AbstractChannelHandlerContext.java:491)
        at io.netty.channel.DefaultChannelPipeline.bind(DefaultChannelPipeline.java:973)
        at io.netty.channel.AbstractChannel.bind(AbstractChannel.java:260)
        at io.netty.bootstrap.AbstractBootstrap$2.run(AbstractBootstrap.java:356)
        at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:164)
        at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:472)
        at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:500)
        at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989)
        at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
        at java.lang.Thread.run(Thread.java:748)

二、解决方法

mqnamesrv 使用的端口是 9876,通过以下命令查看端口占用情况:

netstat -tlnp | grep 9876

lsof -i:9876

netstat 命令用于显示网络相关信息, 如网络连接, 路由表,接口状态,常见参数解析如下:

-a 显示所有选项,默认不显示 listen 相关
-t (tcp)仅显示 tcp 相关选项
-u (udp)仅显示 udp 相关选项
-n 拒绝显示别名, 能显示数字的全部转化成数字
-l 仅列出有在 listen(监听)的服务状态
-p 显示建立相关连接的程序名
-r 显示路由信息, 路由表
-e 显示扩展信息, 例如 uid 等
-s 按每个协议进行统计
-c 每隔一个固定时间, 执行该 netstat 命令

端口占用情况显示如下:

[root@server-c00ef8c3-710d-4708-9cde-2c864e7c03e2 rocketmq-4.9.2]# netstat -tlnp | grep 9876
tcp6       0      0 :::9876                 :::*                    LISTEN      28274/java

将该进程 kill 掉即可:

kill 28274

分享:

低价透明

统一报价,无隐形消费

金牌服务

一对一专属顾问7*24小时金牌服务

信息保密

个人信息安全有保障

售后无忧

服务出问题客服经理全程跟进