【nacos启动错误】Server check fail, please check server localhost ,port 9848 is available , error ={}

这篇具有很好参考价值的文章主要介绍了【nacos启动错误】Server check fail, please check server localhost ,port 9848 is available , error ={}。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本文主要解决nacos启动时失败问题

错误信息

错误信息如下,导致该问题的原因有以下几种:

  1. Nacos版本从1.x升级到2.x时,版本兼容性问题,查看服务端和客户端版本
  2. 防火墙问题,导致端口无法使用
  3. Docker启动镜像时,8848和9848端口未开启
  4. Java中yml文件配置不齐全,server-addr配置问题
java.util.concurrent.ExecutionException: com.alibaba.nacos.shaded.io.grpc.StatusRuntimeException: UNAVAILABLE: io exception
	at com.alibaba.nacos.shaded.com.google.common.util.concurrent.AbstractFuture.getDoneValue(AbstractFuture.java:566) ~[nacos-client-2.0.4.jar:na]
	at com.alibaba.nacos.shaded.com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:445) ~[nacos-client-2.0.4.jar:na]
	at com.alibaba.nacos.common.remote.client.grpc.GrpcClient.serverCheck(GrpcClient.java:148) [nacos-client-2.0.4.jar:na]
	at com.alibaba.nacos.common.remote.client.grpc.GrpcClient.connectToServer(GrpcClient.java:264) [nacos-client-2.0.4.jar:na]
	at com.alibaba.nacos.common.remote.client.RpcClient.reconnect(RpcClient.java:522) [nacos-client-2.0.4.jar:na]
	at com.alibaba.nacos.common.remote.client.RpcClient.lambda$start$2(RpcClient.java:370) [nacos-client-2.0.4.jar:na]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[na:1.8.0_322]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[na:1.8.0_322]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) ~[na:1.8.0_322]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) ~[na:1.8.0_322]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[na:1.8.0_322]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[na:1.8.0_322]
	at java.lang.Thread.run(Thread.java:750) ~[na:1.8.0_322]
Caused by: com.alibaba.nacos.shaded.io.grpc.StatusRuntimeException: UNAVAILABLE: io exception
	at com.alibaba.nacos.shaded.io.grpc.Status.asRuntimeException(Status.java:533) ~[nacos-client-2.0.4.jar:na]
	at com.alibaba.nacos.shaded.io.grpc.stub.ClientCalls$UnaryStreamToFuture.onClose(ClientCalls.java:490) ~[nacos-client-2.0.4.jar:na]
	at com.alibaba.nacos.shaded.io.grpc.PartialForwardingClientCallListener.onClose(PartialForwardingClientCallListener.java:39) ~[nacos-client-2.0.4.jar:na]
	at com.alibaba.nacos.shaded.io.grpc.ForwardingClientCallListener.onClose(ForwardingClientCallListener.java:23) ~[nacos-client-2.0.4.jar:na]
	at com.alibaba.nacos.shaded.io.grpc.ForwardingClientCallListener$SimpleForwardingClientCallListener.onClose(ForwardingClientCallListener.java:40) ~[nacos-client-2.0.4.jar:na]
	at com.alibaba.nacos.shaded.io.grpc.internal.CensusStatsModule$StatsClientInterceptor$1$1.onClose(CensusStatsModule.java:700) ~[nacos-client-2.0.4.jar:na]
	at com.alibaba.nacos.shaded.io.grpc.PartialForwardingClientCallListener.onClose(PartialForwardingClientCallListener.java:39) ~[nacos-client-2.0.4.jar:na]
	at com.alibaba.nacos.shaded.io.grpc.ForwardingClientCallListener.onClose(ForwardingClientCallListener.java:23) ~[nacos-client-2.0.4.jar:na]
	at com.alibaba.nacos.shaded.io.grpc.ForwardingClientCallListener$SimpleForwardingClientCallListener.onClose(ForwardingClientCallListener.java:40) ~[nacos-client-2.0.4.jar:na]
	at com.alibaba.nacos.shaded.io.grpc.internal.CensusTracingModule$TracingClientInterceptor$1$1.onClose(CensusTracingModule.java:399) ~[nacos-client-2.0.4.jar:na]
	at com.alibaba.nacos.shaded.io.grpc.internal.ClientCallImpl.closeObserver(ClientCallImpl.java:510) ~[nacos-client-2.0.4.jar:na]
	at com.alibaba.nacos.shaded.io.grpc.internal.ClientCallImpl.access$300(ClientCallImpl.java:66) ~[nacos-client-2.0.4.jar:na]
	at com.alibaba.nacos.shaded.io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl.close(ClientCallImpl.java:630) ~[nacos-client-2.0.4.jar:na]
	at com.alibaba.nacos.shaded.io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl.access$700(ClientCallImpl.java:518) ~[nacos-client-2.0.4.jar:na]
	at com.alibaba.nacos.shaded.io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInternal(ClientCallImpl.java:692) ~[nacos-client-2.0.4.jar:na]
	at com.alibaba.nacos.shaded.io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInContext(ClientCallImpl.java:681) ~[nacos-client-2.0.4.jar:na]
	at com.alibaba.nacos.shaded.io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37) ~[nacos-client-2.0.4.jar:na]
	at com.alibaba.nacos.shaded.io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:123) ~[nacos-client-2.0.4.jar:na]
	... 3 common frames omitted
Caused by: com.alibaba.nacos.shaded.io.grpc.netty.shaded.io.netty.channel.AbstractChannel$AnnotatedConnectException: Connection refused: localhost/0:0:0:0:0:0:0:1:9848
Caused by: java.net.ConnectException: Connection refused
	at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) ~[na:1.8.0_322]
	at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:716) ~[na:1.8.0_322]
	at com.alibaba.nacos.shaded.io.grpc.netty.shaded.io.netty.channel.socket.nio.NioSocketChannel.doFinishConnect(NioSocketChannel.java:327) ~[nacos-client-2.0.4.jar:na]
	at com.alibaba.nacos.shaded.io.grpc.netty.shaded.io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:336) ~[nacos-client-2.0.4.jar:na]
	at com.alibaba.nacos.shaded.io.grpc.netty.shaded.io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:685) ~[nacos-client-2.0.4.jar:na]
	at com.alibaba.nacos.shaded.io.grpc.netty.shaded.io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:632) ~[nacos-client-2.0.4.jar:na]
	at com.alibaba.nacos.shaded.io.grpc.netty.shaded.io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:549) ~[nacos-client-2.0.4.jar:na]
	at com.alibaba.nacos.shaded.io.grpc.netty.shaded.io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:511) ~[nacos-client-2.0.4.jar:na]
	at com.alibaba.nacos.shaded.io.grpc.netty.shaded.io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:918) ~[nacos-client-2.0.4.jar:na]
	at com.alibaba.nacos.shaded.io.grpc.netty.shaded.io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[nacos-client-2.0.4.jar:na]
	at com.alibaba.nacos.shaded.io.grpc.netty.shaded.io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[nacos-client-2.0.4.jar:na]
	at java.lang.Thread.run(Thread.java:750) ~[na:1.8.0_322]

2023-04-09 23:20:24.630  INFO 4851 --- [t.remote.worker] com.alibaba.nacos.common.remote.client   : [7c2a43b2-6bbc-4049-b422-9146ed496936] Fail to connect server, after trying 3 times, last try server is {serverIp = 'localhost', server main port = 8848}, error = unknown
2023-04-09 23:20:25.045 ERROR 4851 --- [t.remote.worker] c.a.n.c.remote.client.grpc.GrpcClient    : Server check fail, please check server localhost ,port 9848 is available , error ={}

解决方法

Mac m1电脑Docker安装nacos 2.x

电脑mac m1,使用官方的1.4.1版本的nacos启动时报错,找不到,于是替换nacos为2.x,采用Docker安装。

命令行搜索nacos,找到适配Mac m1的镜像
【nacos启动错误】Server check fail, please check server localhost ,port 9848 is available , error ={}
拉去镜像:

docker pull zhusaidong/nacos-server-m1:2.0.3

启动:
打开8848和9848端口

sudo docker run -d -p 8848:8848 -p 9848:9848 --env MODE=standalone  --name nacos2  zhusaidong/nacos-server-m1:2.0.3

检查yml文件配置是否配置正确✅

查看server-addr是否配置正确,端口号是否为默认的8848,或者其他修改的对应的端口号

spring:
  mvc:
    pathmatch:
      matching-strategy: ant_path_matcher
  application:
    name: learn-auth
  cloud:
    nacos:
      discovery:
        server-addr: http://localhost:8848
      config:
        server-addr: ${spring.cloud.nacos.discovery.server-addr}

Nacos端口是否映射成功

nacos 2.x版本,新增了两个端口。这两个端口在nacos原先的端口上(默认8848),进行一定偏移量自动生成。

9848	1000	客户端gRPC请求服务端端口,用于客户端向服务端发起连接和请求
9849	1001	服务端gRPC请求服务端端口,用于服务间同步等

比如centos7环境:

 #开启防火墙
 systemctl start firewalld
 #开放9848端口
 firewall-cmd --zone=public --add-port=9848/tcp --permanent
 #使配置生效
 firewall-cmd --reload
 #查看所有端口
 firewall-cmd --zone=public --list-ports

Nacos兼容性问题

服务端2.x向下兼容客户端1.x版本,客户端2.x版本无法使用服务端1.x版本。
查看一下客户端和服务端版本:文章来源地址https://www.toymoban.com/news/detail-442933.html

<dependency>
   <groupId>com.alibaba.cloud</groupId>
   <artifactId>spring-cloud-alibaba-nacos-discovery</artifactId>
   <version>${nacos.version}</version>
</dependency>
<dependency>
   <groupId>com.alibaba.cloud</groupId>
   <artifactId>spring-cloud-alibaba-nacos-config</artifactId>
   <version>${nacos.version}</version>
</dependency>

到了这里,关于【nacos启动错误】Server check fail, please check server localhost ,port 9848 is available , error ={}的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Spring Cloud 注册 Nacos2.x 版本RPC客户端连接抛 Server check fail, please check server ** 异常解决方案

    在 nacos-client:2.x 中,如果启动了naocs2.x的服务不修改任何端口的情况下是可以正常连接的。 在docker下运行了 nacos 并且指定跟主机绑定 “8848:8848” 端口 cloud 中配置 在nacos服务启动正常下,Spring Cloud 连接会抛出一个异常为: 那是因为Nacos2.x版本相比1.X新增了gRPC的通信方式,因

    2024年02月06日
    浏览(56)
  • 微服务项目部署后无法连接上Nacos服务报错 Server check fail

    使用docker部署一个微服务启动时,发现连接不上nacos,微服务无法读取到nacos报错导致启动失败。 c.a.n.c.remote.client.grpc.GrpcClient    : Server check fail, please check server XXX.X.XXX.XXX ,port XXX is available , error ={} java.util.concurrent.TimeoutException: Waited 3000 milliseconds (plus 259427 nanoseconds delay) for com

    2024年02月12日
    浏览(36)
  • SSH无法启动错误解决:Failed to start OpenSSH server daemon.

    废话不说,先把方案直接贴出来赶紧试试: 直接执行一下的三个命令 这个问题是因为自己在玩的时候一不小心把var目录的权限给改了,导致如此。害我紧张的排查了好一会,大意了大意了。。。

    2024年02月11日
    浏览(63)
  • docker 启动 nacos Failed to bind properties under ‘server.tomcat.basedir‘ to java.io.File 解决

    配置文件中默认为 server.tomcat.basedir= 启动时出错,解决方案给该值赋予一个存在的路径 server.tomcat.basedir=/ 重新启动即可解决问题 来源docker 按住nacos启动Failed to bind properties under \\\'server.tomcat.basedir\\\' to java.io.File: · Issue #8960 · alibaba/nacos · GitHub

    2024年02月13日
    浏览(40)
  • 解决 elasticsearch 启动错误 bootstrap checks failed

    异常信息: 分析原因:bootstrap 校验失败 解决方法:将当前用户的软硬限制调大 修改配置文件,/etc/security/limits.conf 修改配置文件,/etc/security/limits.d/90-nproc.conf 修改配置文件,/etc/sysctl.conf 重新加载

    2024年02月12日
    浏览(39)
  • Nacos报错,failed to req API:/nacos/v1/ns/instance after all servers([localhost:8848]) tried: failed to

    引入依赖 application.yml 主启动类加上@EnableDiscoveryClient注解 开启Nacos服务 再次检查yml文件配置,注意缩进 我查询了很多网上的文章,最后都没有解决,后来我决定先访问 http://localhost:8848/nacos/#/login 试一下,发现Nacos报错,是跟数据库相关的,“No DataSource set”,然后我想起来之

    2024年02月15日
    浏览(43)
  • 启动 idea 弹出“Failed to load JVM DLL\bin\server\jvm.dll”错误的解决方法

    打开idea报failed to load JVM DLL 原因1: 查看是否缺少Microsoft Visual C++ 2010 Redistributable Package x64,没有则安装。 地址: 32 bit: http://www.microsoft.com/download/en/details.aspx?id=5555 64 bit: http://www.microsoft.com/download/en/details.aspx?id=14632 原因2: 查看jdk架构,在安装jdk前提下,执行java -version命令

    2024年02月09日
    浏览(43)
  • NacosException: Request nacos server failed

    2.1.2 客户端可引用的版本不一致导致!

    2024年02月13日
    浏览(69)
  • Nacos 版本不一致报错: Request nacos server failed

    在做微服务开发中,测试环境使用Nacos没有问题,但是生产环境服务启动一直报错: 代码没有改动,测试环境没问题,但是生产环境有问题呢?首先看一下两者不同的地方,大多数都是 环境配置 的问题。 查看 Nacos 服务的版本,查看 Nacos 控制台首页左上角就能看到版本号:

    2024年02月12日
    浏览(56)
  • MySQL错误:Can‘t connect to MySQL server on localhost(分多种情况)

    1 . 查看本机是否可以ping通MySQL服务IP地址 : 2 . 查看MySQL是否允许远程连接 : mysql 设置远程方法1: mysql 设置远程方法2: 开放MySQL 3306端口 : 打开MySQL配置文件: vim /etc/mysql/my.cnf 。 注释掉 bind-address = 127.0.0.1 ,以允许MySQL远程连接。 重启MySQL所在服务端系统: init 6 或 rebo

    2024年02月04日
    浏览(58)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包