alibaba / nacos

an easy-to-use dynamic service discovery, configuration and service management platform for building cloud native applications.
https://nacos.io
Apache License 2.0
30.29k stars 12.84k forks source link

服务器已经开放8848、9848、9849端口,依然出现:Server check fail, please check server localhost ,port 9848 is available , error ={} #7893

Closed lxlhz closed 6 months ago

lxlhz commented 2 years ago

在服务器已经开放8848、9848、9849端口,并且服务也能成功注册到Nacos中,使用feign或者是gateway也能成功请求到服务接口,但是依然报错(After the server has opened ports 8848, 9848, and 9849, and the service can be successfully registered in Nacos, the service interface can also be successfully requested by using feign or gateway, but the error is still reported:):

第一个: Server check fail, please check server localhost ,port 9848 is available , error ={}

java.util.concurrent.TimeoutException: Waited 3000 milliseconds (plus 13 milliseconds, 450300 nanoseconds delay) for com.alibaba.nacos.shaded.io.grpc.stub.ClientCalls$GrpcFuture@4948a2e3[status=PENDING, info=[GrpcFuture{clientCall={delegate={delegate=ClientCallImpl{method=MethodDescriptor{fullMethodName=Request/request, type=UNARY, idempotent=false, safe=false, sampledToLocalTracing=true, requestMarshaller=com.alibaba.nacos.shaded.io.grpc.protobuf.lite.ProtoLiteUtils$MessageMarshaller@1d6751e3, responseMarshaller=com.alibaba.nacos.shaded.io.grpc.protobuf.lite.ProtoLiteUtils$MessageMarshaller@2d258eff, schemaDescriptor=com.alibaba.nacos.api.grpc.auto.RequestGrpc$RequestMethodDescriptorSupplier@64502326}}}}}]] at com.alibaba.nacos.shaded.com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:508) ~[nacos-client-2.0.3.jar:na] at com.alibaba.nacos.common.remote.client.grpc.GrpcClient.serverCheck(GrpcClient.java:146) [nacos-client-2.0.3.jar:na] at com.alibaba.nacos.common.remote.client.grpc.GrpcClient.connectToServer(GrpcClient.java:268) [nacos-client-2.0.3.jar:na] at com.alibaba.nacos.common.remote.client.RpcClient.reconnect(RpcClient.java:528) [nacos-client-2.0.3.jar:na] at com.alibaba.nacos.common.remote.client.RpcClient$3.run(RpcClient.java:373) [nacos-client-2.0.3.jar:na] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_131] at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_131] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) [na:1.8.0_131] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [na:1.8.0_131] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_131] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_131] at java.lang.Thread.run(Thread.java:748) [na:1.8.0_131] 第二个: com.alibaba.nacos.api.exception.NacosException: Client not connected,current status:STARTING at com.alibaba.nacos.common.remote.client.RpcClient.request(RpcClient.java:655) ~[nacos-client-2.0.3.jar:na] at com.alibaba.nacos.client.config.impl.ClientWorker$ConfigRpcTransportClient.requestProxy(ClientWorker.java:1067) ~[nacos-client-2.0.3.jar:na] at com.alibaba.nacos.client.config.impl.ClientWorker$ConfigRpcTransportClient.requestProxy(ClientWorker.java:1042) ~[nacos-client-2.0.3.jar:na] at com.alibaba.nacos.client.config.impl.ClientWorker$ConfigRpcTransportClient.executeConfigListen(ClientWorker.java:831) ~[nacos-client-2.0.3.jar:na] at com.alibaba.nacos.client.config.impl.ClientWorker$ConfigRpcTransportClient$4.run(ClientWorker.java:748) [nacos-client-2.0.3.jar:na] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_131] at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_131] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) [na:1.8.0_131] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [na:1.8.0_131] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_131] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_131] at java.lang.Thread.run(Thread.java:748) [na:1.8.0_131]

lxlhz commented 2 years ago

telnet 9848端口出现,以下问题: image

vividfish commented 2 years ago

版本呢?

lxlhz commented 2 years ago

@vividfish 2.0.3

vividfish commented 2 years ago

如果你的服务端版本也是2.0.3 telnet不通,大概率是网络配置有问题

lxlhz commented 2 years ago

@vividfish 这个需要怎么解决呢?我是才搭建好nacos时,可以使用,然后过来一会就出现了报错

vividfish commented 2 years ago

不清楚你的环境

lxlhz commented 2 years ago

@vividfish 使用的是docker搭建,切换nacos版本还会有这个问题?

vividfish commented 2 years ago

客户端配端口8848试试

jiangjialiang918 commented 2 years ago

我也发现这个问题,服务注册上去没有问题,但是多加了一个配置logging.file.path ,这个按理来说和nacos没有任何关系的,就出现启动一直报错且提示( Server check fail, please check server localhost ,port 9848 is available , error ={} ),本地是可以用Telnet访问到nacos 9848的

youjunyi commented 2 years ago

我也发现这个问题,服务注册上去没有问题,但是多加了一个配置logging.file.path ,这个按理来说和nacos没有任何关系的,就出现启动一直报错且提示( Server check fail, please check server localhost ,port 9848 is available , error ={} ),本地是可以用Telnet访问到nacos 9848的

我也有同样的问题 请问解决了吗

lxlhz commented 2 years ago

我也发现这个问题,服务注册上去没有问题,但是多加了一个配置logging.file.path ,这个按理来说和nacos没有任何关系的,就出现启动一直报错且提示( Server check fail, please check server localhost ,port 9848 is available , error ={} ),本地是可以用Telnet访问到nacos 9848的

我也有同样的问题 请问解决了吗

其实是操作的问题,我引入了nacos-config的maven包,但是没有配置bootstart.yaml文件导致的,把 nacos-config的maven去掉就可以了

jiangjialiang918 commented 2 years ago

我也发现这个问题,服务注册上去没有问题,但是多加了一个配置logging.file.path ,这个按理来说和nacos没有任何关系的,就出现启动一直报错且提示( Server check fail, please check server localhost ,port 9848 is available , error ={} ),本地是可以用Telnet访问到nacos 9848的

我也有同样的问题 请问解决了吗

其实是操作的问题,我引入了nacos-config的maven包,但是没有配置bootstart.yaml文件导致的,把 nacos-config的maven去掉就可以了

官网有文档介绍么,不然还是有点奇怪为什么会要这个操作

jiangjialiang918 commented 2 years ago

@jiangjialiang918 jiangjialiang918 mentioned this issue 3分钟前 解决不了, 我感觉是bug,目前只能先注释掉logging相关配置 #8054

我也发现这个问题,服务注册上去没有问题,但是多加了一个配置logging.file.path ,这个按理来说和nacos没有任何关系的,就出现启动一直报错且提示( Server check fail, please check server localhost ,port 9848 is available , error ={} ),本地是可以用Telnet访问到nacos 9848的

我也有同样的问题 请问解决了吗

其实是操作的问题,我引入了nacos-config的maven包,但是没有配置bootstart.yaml文件导致的,把 nacos-config的maven去掉就可以了

其实我注释掉logging相关配置也是可以的....

onewe commented 2 years ago

@jiangjialiang918 logging.file.path 这个是加在服务端 还是 server端端?

jiangjialiang918 commented 2 years ago

@jiangjialiang918 logging.file.path 这个是加在服务端 还是 server端端?

客户端

youjunyi commented 2 years ago

现在的解决办法就是把nacos的配置添加到bootstart.yaml里就可以了 不清楚为什么,官方文档并没有提到过个这个问题

jiangjialiang918 commented 2 years ago

我的情况是只要注释掉logging相关配置就没事,一旦放开,logging和nacos配置哪个放bootstrap先加载都不行

jsonpang commented 2 years ago

我也有类似的问题,但是为啥换一台服务器部署客户端就可以 原来的那台网络也是通的

potterjoy commented 2 years ago

我也遇到了,微服务中有几个应用报 Server check fail, please check server localhost ,port 9848 is available , error ={} 其他服务是好的,想请教一下你们都解决了么?怎么解决这个问题的

HypHao commented 2 years ago

2.0.0也是这样。。。

Smallballoons01 commented 2 years ago

你们的nacos是不是根本没有起来,你们使用startup.cmd -m standalone 启动

zhaoydo commented 2 years ago

遇到相同问题,解决思路供大家参考

现象

nacos client 1.4.2 > 2.0.3 (cloud alibaba2.2.6 Release -> 2.2.7 Release )后,部分机器上服务启动会提示localhost 9848相关报错

原因

nacos client 2.x版本不识别配置在application.properties(yml)中的nacos config相关配置,会以默认参数启动nacos config.
默认参数为:spring.cloud.nacos.config.enabled=true; spring.cloud.nacos.config.server-addr=localhost:8848 读取的是localhost的8848 9848 9849, 导致报错

解决

nacos config相关配置到bootstrap.properties(yml) 或者启动参数中

部分机器无报错

我自己的开发电脑启动无报错,测试环境服务器和其他同事开发电脑有报错
我猜是因为以前有在开发电脑手动指定nacos config配置启动过dev、test环境的服务。nacos在本地缓存了一些东西。 仅猜测,未深入研究。

Roroldo commented 2 years ago

我也遇到了这个问题,最后是通过降低 nacos-client 客户端版本解决的

<!-- nacos配置中心-->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
    <!--自带的 nacos 版本是 2.0 以上的 大坑-->
    <exclusions>
        <exclusion>
            <groupId>com.alibaba.nacos</groupId>
            <artifactId>nacos-client</artifactId>
        </exclusion>
    </exclusions>
</dependency>
<dependency>
    <groupId>com.alibaba.nacos</groupId>
    <artifactId>nacos-client</artifactId>
    <version>1.1.4</version>
</dependency>
dym1005 commented 2 years ago

我在本地再起个单机nacos就不报错了,不知道为什么

zhaoydo commented 2 years ago

我在本地再起个单机nacos就不报错了,不知道为什么

因为默认连接的了本地的nacos config,也就是localhost:8848 9848 9849

parkerisme commented 1 year ago

我也遇到了,微服务中有几个应用报 Server check fail, please check server localhost ,port 9848 is available , error ={} 其他服务是好的,想请教一下你们都解决了么?怎么解决这个问题的

me too

dym1005 commented 1 year ago

放开客户端与服务端通信的9848端口和服务端之间通信的9849端口

------------------ 原始邮件 ------------------ 发件人: "alibaba/nacos" @.>; 发送时间: 2022年12月7日(星期三) 下午4:52 @.>; @.**@.>; 主题: Re: [alibaba/nacos] 服务器已经开放8848、9848、9849端口,依然出现:Server check fail, please check server localhost ,port 9848 is available , error ={} (Issue #7893)

我也遇到了,微服务中有几个应用报 Server check fail, please check server localhost ,port 9848 is available , error ={} 其他服务是好的,想请教一下你们都解决了么?怎么解决这个问题的

me too

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.***>

guiji72 commented 1 year ago

有人解决过这个报错嘛,启动没错,运行一段时间后部分服务报错

dc-vin commented 1 year ago

nacos版本2.1.2 ,也遇到这个问题,个别服务使用一段时候就报这个错,一般是半小时后。而且只有个别服务会这样,其他服务全部正常。找不到原因在哪。

s61595579 commented 1 year ago

请问这个问题有人解决了嘛,我也碰上了,但是我的第二个异常提示的状态不太一样,我提示的是current status:UNHEALTHY

newGreenPer commented 1 year ago

尝试过修改 /etc/hosts和测试nacos客户端 服务端版本等都不行后,我解决方法是在application.yml中增加discovery配置,bootstrap.yml都有,然后就正常了。可能还是上下文环境问题

spring:
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848
        namespace: cimp-${spring.profiles.active}
eysam commented 1 year ago

环境: springcloud-alibaba2.2.9.RELEASE nacos-client 2.1.0 spring-cloud-starter-alibaba-nacos-config 处于192.168.1.120的nacos-server2.1.0 问题: 本人设置了spring.cloud.nacos.discovery.server-addr = 192.168.1.120,诡异的事情是服务成功注册进了nacos-server,在nacos-server管理界面也能看到,但gRPC疯狂刷错误,显示其正在连接localhost:9848.... 解决方式 删除spring-cloud-starter-alibaba-nacos-config的maven依赖,重新reload一下依赖,重启就行了

CRISPpp commented 1 year ago

docker用户注意一下docker有没有开另外两个grpc端口的映射

fruitfish commented 1 year ago

image 我也遇到这个问题了,好像是集群节点间9849不通了,但我去服务器上telnet是可以连通的。nacos版本是2.0.3。已经运行了挺长一段时间了,今天出现这个问题。微服务和nacos的通信都出现了问题。最后重启了nacos集群。

ycrxun commented 1 year ago

同样的问题,服务端2.1.2,客户端2.0.4, telnet 可以通 Error日志: Server check fail, please check server 172.16.6.3 ,port 9848 is available 2.x同一个包 放到另外一台服务器有又可以. 客户端回退到1.x又可以

Zark1999 commented 1 year ago

nacos版本2.1.2 ,也遇到这个问题,个别服务使用一段时候就报这个错,一般是半小时后。而且只有个别服务会这样,其他服务全部正常。找不到原因在哪。

同样的问题,一段时间后出现的报错,而且ip和端口显示的都没问题

sntaoo commented 1 year ago

同样的问题,添加了bootstrap.yml配置也没有解决

MokongZ commented 1 year ago

同样的问题,一段时间后出现的报错,而且ip和端口显示的都没问题

huangbuhuan commented 1 year ago

设置参数nacos.remote.client.grpc.server.check.timeout为100000 debug看下了下第一次初始化会卡在com.alibaba.nacos.shaded.io.grpc.internal.ManagedClientTransport#start 是不是应该对对一次第一次初始化超时为3s做个改动

zivfuture commented 1 year ago

同样的问题, 初次注册没问题,9848也ok, 下线重启后同样的错,

zhangbujin commented 1 year ago

v2.2.3 运行一段时间,也同样出现此问题。是容器缓存还是啥原因呢?服务好像没受影响,但是经常被监控到服务异常。该如何处理?

zhangbujin commented 1 year ago

2023-10-16 09:56:06.737 ERROR 7 [-] [com.alibaba.nacos.client.naming.updater.1] com.alibaba.nacos.common.remote.client Send request fail, request = ServiceQueryRequest{headers={accessToken=eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJuYWNvcyIsImV4cCI6MTY5NzQyNTg1MH0.C3sVDSu7joRA0WqSS9gYB2A47WxVc14DIJYgeGTS7qehF4XnDwCZy1oStG4ugsMJbiyr-Vaiu3OtU_Z-BkFhqA, app=unknown}, requestId='null'}, retryTimes = 0, errorMessage = Client not connected, current status:UNHEALTHY 2023-10-16 09:56:06.810 ERROR 7 [-] [com.alibaba.nacos.client.remote.worker] c.a.n.c.remote.client.grpc.GrpcClient Server check fail, please check server 192.168.10.116 ,port 9848 is available , error ={} java.util.concurrent.TimeoutException: Waited 3000 milliseconds (plus 90237 nanoseconds delay) for com.alibaba.nacos.shaded.io.grpc.stub.ClientCalls$GrpcFuture@1e22f4f3[status=PENDING, info=[GrpcFuture{clientCall=ClientCallImpl{method=MethodDescriptor{fullMethodName=Request/request, type=UNARY, idempotent=false, safe=false, sampledToLocalTracing=true, requestMarshaller=com.alibaba.nacos.shaded.io.grpc.protobuf.lite.ProtoLiteUtils$MessageMarshaller@52ee8ee5, responseMarshaller=com.alibaba.nacos.shaded.io.grpc.protobuf.lite.ProtoLiteUtils$MessageMarshaller@23afcb0a, schemaDescriptor=com.alibaba.nacos.api.grpc.auto.RequestGrpc$RequestMethodDescriptorSupplier@53abe933}}}]]

slliver commented 1 year ago

单机的时候没有这个问题,集群模式 nacos-server 2.0.4 也发现了这个问题,我的解决办法是 客户端依赖的时候降低一个版本

    <dependency>
        <groupId>com.alibaba.cloud</groupId>
        <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
    </dependency>
    <!-- 使用了2.0.4的nacos-client 启动的时候会报错,降低一个版本 -->
    <dependency>
        <groupId>com.alibaba.nacos</groupId>
        <artifactId>nacos-client</artifactId>
        <version>1.4.2</version>
    </dependency>

启动就没问题了服务也可以注册上

qingsanxing commented 10 months ago

nacos导入了动态配置的包之后,一定要bootstrap.yaml(properties)文件设置动态文件获取地址,不然默认访问localhost

Sun-Xingbin commented 10 months ago

真是离谱的问题,找遍了全网,最后通过回退版本来解决

guochunxing commented 10 months ago

网络代理也会引起这个问题,感觉是端口冲突了。关掉 clash 就好了。

uangshiyon commented 9 months ago

我们服务器也出现过这种问题,经过分析是InetAddress.getLocalHost导致的问题,可以通过在/etc/hosts中配置解决 127.0.0.1 xxxx ::1 xxxx

xxxx自己替换成你的主机名(hostname),主机名可以执行hostname命令获取

WooWhoThere commented 7 months ago

应该是依赖了nacos-config,但是没有配置nacos-config导致的,加上

spring:
  cloud:
    # nacos配置
    nacos:
      config:
        server-addr: ip:8848
        file-extension: yaml

可以解决这个问题 😄

1430148787 commented 7 months ago

离谱啊, 有没有解决办法? 已开3个端口, 依然解决不了, windows nacos就没问题

zhaoydo commented 7 months ago

离谱啊, 有没有解决办法? 已开3个端口, 依然解决不了, windows nacos就没问题

你试试在bootstrap中指定nacos config的地址。nacos config不读取application的配置,默认就是localhost