[DUBBO] qos-server can not bind localhost:22222端口已占用错误解决

Dubbo启动时出现如下错误

ERROR Server:111 -  [DUBBO] qos-server can not bind localhost:22222, dubbo version: 2.7.5, current host: 192.168.2.199
java.net.BindException: Address already in use: bind

是因为dubbo的提供方与消费方的 Qos的端口号 出现一致情况,默认为22222
解决办法:在Dubbo的配置文件中 配置Qos的绑定端口,所有的dubbo的Qos都不能相同,不论是消费者还是提供者

什么是Qos

Qos=Quality of Service,qos是Dubbo的在线运维命令,可以对服务进行动态的配置、控制及查询,Dubboo2.5.8新版本重构了telnet(telnet是从Dubbo2.0.5开始支持的)模块,提供了新的telnet命令支持,新版本的telnet端口与dubbo协议的端口是不同的端口,默认为22222,可以通过配置文件dubbo.properties修改。telnet 模块现在同时支持 http 协议和 telnet 协议,方便各种情况的使用。

QoS提供了一些启动参数,来对启动进行配置,他们主要包括:

参数说明默认值
qosEnable是否启动QoStrue
qosPort启动QoS绑定的端口22222
qosAcceptForeignIp是否允许远程访问false

QoS参数可以通过如下方式进行配置

JVM系统属性
dubbo.properties
XML方式
其中,上述方式的优先顺序为JVM系统属性 > dubbo.properties > XML

1. 使用系统属性方式进行配置

-Ddubbo.application.qos.enable=true
-Ddubbo.application.qos.port=33333
-Ddubbo.application.qos.accept.foreign.ip=false

2. 使用dubbo.properties文件进行配置

在项目的src/main/resources目录下添加dubbo.properties文件,内容如下:

dubbo.application.qos.enable=true
dubbo.application.qos.port=33333
dubbo.application.qos.accept.foreign.ip=false

3.使用XML方法进行配置

在Dubbo的XML配置文件中,加上如下Qos的配置

    <!-- 提供方应用信息,用于计算依赖关系,qos.port默认22222 -->
    <dubbo:application name="provider">
        <dubbo:parameter key="qos.enable" value="true" />
        <dubbo:parameter key="qos.accept.foreign.ip" value="false" />
        <dubbo:parameter key="qos.port" value="22222" />
    </dubbo:application>
    <!-- 消费方应用名,用于计算依赖关系,不是匹配条件,不要与提供方一样 -->
    <dubbo:application name="cosumer">
        <dubbo:parameter key="qos.enable" value="true" />
        <dubbo:parameter key="qos.accept.foreign.ip" value="false" />
        <dubbo:parameter key="qos.port" value="33333" />
    </dubbo:application>

参考转载资料:https://blog.csdn.net/u012988901/article/details/84503672

如有描述不当地方,热烈欢迎大神们赐教。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值