ERROR qos-server can not bind localhost:22222
server Error not can bind localhost Qos
2023-09-14 08:57:05 时间
dubboe版本2.7.1
spring cloud alibaba最新官网examples
根据readme中说明文档依次启动
1、nacos,默认用户名密码nacos/nacos
2、启动spring-cloud-dubbo-server-sample,此时可以在nacos中看到发布的服务
3、启动spring-cloud-dubbo-server-sample,此处控制台会输出如下异常信息
2019-05-06 17:03:47.991 ERROR 27988 --- [ main] org.apache.dubbo.qos.server.Server : [DUBBO] qos-server can not bind localhost:22222, dubbo version: 2.7.1, current host: xxxxxxxxx
java.net.BindException: Address already in use: bind
at sun.nio.ch.Net.bind0(Native Method) ~[na:1.8.0_77]
at sun.nio.ch.Net.bind(Net.java:433) ~[na:1.8.0_77]
at sun.nio.ch.Net.bind(Net.java:425) ~[na:1.8.0_77]
at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223) ~[na:1.8.0_77]
at io.netty.channel.socket.nio.NioServerSocketChannel.doBind(NioServerSocketChannel.java:130) ~[netty-all-4.1.33.Final.jar:4.1.33.Final]
at io.netty.channel.AbstractChannel$AbstractUnsafe.bind(AbstractChannel.java:562) ~[netty-all-4.1.33.Final.jar:4.1.33.Final]
at io.netty.channel.DefaultChannelPipeline$HeadContext.bind(DefaultChannelPipeline.java:1332) ~[netty-all-4.1.33.Final.jar:4.1.33.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeBind(AbstractChannelHandlerContext.java:501) ~[netty-all-4.1.33.Final.jar:4.1.33.Final]
at io.netty.channel.AbstractChannelHandlerContext.bind(AbstractChannelHandlerContext.java:486) ~[netty-all-4.1.33.Final.jar:4.1.33.Final]
at io.netty.channel.DefaultChannelPipeline.bind(DefaultChannelPipeline.java:984) ~[netty-all-4.1.33.Final.jar:4.1.33.Final]
at io.netty.channel.AbstractChannel.bind(AbstractChannel.java:258) ~[netty-all-4.1.33.Final.jar:4.1.33.Final]
at io.netty.bootstrap.AbstractBootstrap$2.run(AbstractBootstrap.java:366) ~[netty-all-4.1.33.Final.jar:4.1.33.Final]
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute$$$capture(AbstractEventExecutor.java:163) ~[netty-all-4.1.33.Final.jar:4.1.33.Final]
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java) ~[netty-all-4.1.33.Final.jar:4.1.33.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:404) ~[netty-all-4.1.33.Final.jar:4.1.33.Final]
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:495) ~[netty-all-4.1.33.Final.jar:4.1.33.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:905) ~[netty-all-4.1.33.Final.jar:4.1.33.Final]
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-all-4.1.33.Final.jar:4.1.33.Final]
at java.lang.Thread.run(Thread.java:745) ~[na:1.8.0_77]
意思就说22222这个端口已经占用了,因为在执行步骤2的时候就默认已经使用22222端口,所有在启动步骤3的时候就会出现端口被占用的情况,此异常不会影响服务的正常使用,只是qos(qos是Dubbo的在线运维命令)不能使用了。具体qos使用自行了解。
解决办法:
1、启动时添加jvm参数,不推荐
-Ddubbo.application.qos.enable=true
-Ddubbo.application.qos.port=33333
-Ddubbo.application.qos.accept.foreign.ip=false
3、spring boot应用可以在application.properties
或者application.yaml中配置上述
配置:
application.
properties:
dubbo.application.qos.enable=true
dubbo.application.qos.port=33333
dubbo.application.qos.accept.foreign.ip=false
application.yaml,注意下面的配置不是
application:
qos:
port: 33333
enable: true
accept-foreign-ip: false
PS: 网上很多说的配置要是是qosPort=xxxx,或者是qos-port=xxxx,都是不起作用的,如果用的yaml的配置方式,只能是上述的配置方式,虽然在idea会提示不能解决properties类型。
通过org.apache.dubbo.qos.protocol.QosProtocolWrapper中解析的配置如下可以正式加载方式:
private void startQosServer(URL url) {
try {
if (!hasStarted.compareAndSet(false, true)) {
return;
}
boolean qosEnable = url.getParameter("qos.enable", true);
if (!qosEnable) {
this.logger.info("qos won't be started because it is disabled. Please check dubbo.application.qos.enable is configured either in system property, dubbo.properties or XML/spring-boot configuration.");
return;
}
int port = url.getParameter("qos.port", 22222);
boolean acceptForeignIp = Boolean.parseBoolean(url.getParameter("qos.accept.foreign.ip", "false"));
Server server = Server.getInstance();
server.setPort(port);
server.setAcceptForeignIp(acceptForeignIp);
server.start();
} catch (Throwable var6) {
this.logger.warn("Fail to start qos server: ", var6);
}
}
默认加载的就是qos.port属性。
相关文章
- ORA-31202: DBMS_LDAP: LDAP client/server error: string ORACLE 报错 故障修复 远程处理
- MySQL Error number: 3094; Symbol: ER_GROUP_REPLICATION_APPLIER_INIT_ERROR; SQLSTATE: HY000 报错 故障修复 远程处理
- MySQL Error number: 3630; Symbol: ER_PERSIST_ONLY_ACCESS_DENIED_ERROR; SQLSTATE: 42000 报错 故障修复 远程处理
- MySQL Error number: 3673; Symbol: ER_BAD_NULL_ERROR_NOT_IGNORED; SQLSTATE: 23000 报错 故障修复 远程处理
- MySQL Error number: 4001; Symbol: ER_DA_NO_ERROR_LOG_PARSER_CONFIGURED; SQLSTATE: HY000 报错 故障修复 远程处理
- MySQL Error number: 4004; Symbol: ER_DA_CANT_OPEN_ERROR_LOG; SQLSTATE: HY000 报错 故障修复 远程处理
- MySQL Error number: MY-010534; Symbol: ER_RPL_RECOVERY_ERROR_READ_RELAY_LOG; SQLSTATE: HY000 报错 故障修复 远程处理
- MySQL Error number: MY-011378; Symbol: ER_KEYRING_OKV_INIT_FAILED_DUE_TO_INTERNAL_ERROR; SQLSTATE: HY000 报错 故障修复 远程处理
- MySQL Error number: MY-011382; Symbol: ER_KEYRING_OKV_FAILED_TO_FIND_SERVER_ENTRY; SQLSTATE: HY000 报错 故障修复 远程处理
- MySQL Error number: MY-011532; Symbol: ER_GRP_RPL_RESET_APPLIER_MODULE_LOGS_ERROR; SQLSTATE: HY000 报错 故障修复 远程处理
- MySQL Error number: MY-011534; Symbol: ER_GRP_RPL_APPLIER_THD_START_ERROR; SQLSTATE: HY000 报错 故障修复 远程处理
- MySQL Error number: MY-011615; Symbol: ER_GRP_RPL_ERROR_WHILE_WAITING_FOR_CONFLICT_DETECTION; SQLSTATE: HY000 报错 故障修复 远程处理
- MySQL Error number: MY-011635; Symbol: ER_GRP_RPL_PLUGIN_STRUCT_INIT_NOT_POSSIBLE_ON_SERVER_START; SQLSTATE: HY000 报错 故障修复 远程处理
- MySQL Error number: MY-011709; Symbol: ER_GRP_RPL_SQL_SERVICE_MAX_CONN_ERROR_FROM_SERVER; SQLSTATE: HY000 报错 故障修复 远程处理
- MySQL Error number: MY-011710; Symbol: ER_GRP_RPL_SQL_SERVICE_SERVER_ERROR_ON_CONN; SQLSTATE: HY000 报错 故障修复 远程处理
- SQL Server触发器和事务用法示例
- MySQL Error number: MY-013134; Symbol: ER_SERVER_HANDLER_ERROR; SQLSTATE: HY000 报错 故障修复 远程处理
- MySQL Error number: MY-013135; Symbol: ER_SERVER_NOT_FORM_FILE; SQLSTATE: HY000 报错 故障修复 远程处理
- MySQL Error number: MY-013281; Symbol: ER_SERVER_RPL_ENCRYPTION_HEADER_ERROR; SQLSTATE: HY000 报错 故障修复 远程处理
- MySQL Error number: MY-013381; Symbol: ER_SERVER_UPGRADE_STATUS; SQLSTATE: HY000 报错 故障修复 远程处理
- MySQL Error number: MY-013644; Symbol: ER_IB_ERR_ZLIB_UNKNOWN_ERROR; SQLSTATE: HY000 报错 故障修复 远程处理
- MySQL Error number: MY-013667; Symbol: ER_ERROR_LOG_DESTINATION_NOT_A_FILE; SQLSTATE: HY000 报错 故障修复 远程处理
- SQL Server身份验证: 大数据时代的安全壁垒(SQLServer身份验证)
- 免费使用SQL Server,助力自由开发!(免费sqlserver)
- SQL Server 数据库安全性提升:从上锁开始(上锁 sqlserver)
- SQL Server 已失效,改用新的解决方案吧!(sqlserver过期了)
- SQL Server输入表:极速提升数据处理效率(sqlserver输入表)
- SQL SERVER和你一起实现更美好的未来(sqlserver 让)
- SQL Server时间搓转出精彩瞬间(sqlserver时间搓)
- 4技术SQL Server RC4技术开启迅速安全数据传输之路(sqlserver rc)
- 从SQL Server迁移到其他数据库的经验教训(迁移sqlserver)
- 500 Internal Server Error对不起,服务器遇到了错误,无法完成请求请稍后再试(mysql中exce)