连接不上9848端口

Blade 未结 2 935
cruise
cruise 2022-04-27 21:30

一、该问题的重现步骤是什么?

1. 本地安装nacos服务

2. 2.9.0版本bladex中的模块启动正常

3. 2.9.1版本bladex-biz中的模块启动报连接不上nacos的9848,但是也能启动成功,访问到测试接口


mac电脑,通过nc命令检测端口 8848 9848 9849都是通的,不是使用docker安装的


作者可以测试一下


二、你期待的结果是什么?实际看到的又是什么?


三、你正在使用的是什么产品,什么版本?在什么操作系统上?


四、请提供详细的错误堆栈信息,这很重要。


五、若有更多详细信息,请在下面提供。

2条回答
  •  yinyuncan
    yinyuncan (楼主)
    2022-04-28 09:46

    当nacos客户端升级为2.x版本后,新增了gRPC的通信方式,新增了两个端口。这两个端口在nacos原先的端口上(默认8848),进行一定偏移量自动生成.。


    端口 与主端口的偏移量 描述

    9848 1000 客户端gRPC请求服务端端口,用于客户端向服务端发起连接和请求

    9849 1001 服务端gRPC请求服务端端口,用于服务间同步等

    当客户端升级成2.x版本时,服务的还使用1.x版本就会报错。


    因此当客户端升级为2.x版本,服务端需要进行相应的升级。


    兼容性

    服务端2.x向下兼容客户端1.x版本,客户端2.x版本无法使用服务端1.x版本。


    nacos下载地址

    https://github.com/alibaba/nacos/releases

    作者追问:2022-04-28 09:46

    应该不是这个原因,因为nacos我安装的就是最新版的2.0.4,而且8848,9848,9849端口都是通的,而且只有bladex-biz有这个问题。

    作者追问:2022-04-28 09:46

    bladex-biz中的错误日志:


    2022-05-02 09:47:08.398 ERROR 4429 --- [           main] c.a.n.c.remote.client.grpc.GrpcClient    : Server check fail, please check server 127.0.0.1 ,port 9848 is available , error ={}


    java.util.concurrent.TimeoutException: Waited 3000 milliseconds (plus 5 milliseconds, 58507 nanoseconds delay) for com.alibaba.nacos.shaded.io.grpc.stub.ClientCalls$GrpcFuture@67a056f1[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@4bff2185, responseMarshaller=com.alibaba.nacos.shaded.io.grpc.protobuf.lite.ProtoLiteUtils$MessageMarshaller@5c20ffa8, schemaDescriptor=com.alibaba.nacos.api.grpc.auto.RequestGrpc$RequestMethodDescriptorSupplier@7fedfe27}}}}}]]

    at com.alibaba.nacos.shaded.com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:508)

    at com.alibaba.nacos.common.remote.client.grpc.GrpcClient.serverCheck(GrpcClient.java:148)

    at com.alibaba.nacos.common.remote.client.grpc.GrpcClient.connectToServer(GrpcClient.java:264)

    at com.alibaba.nacos.common.remote.client.RpcClient.start(RpcClient.java:390)

    at com.alibaba.nacos.client.config.impl.ClientWorker$ConfigRpcTransportClient.ensureRpcClient(ClientWorker.java:885)

    at com.alibaba.nacos.client.config.impl.ClientWorker$ConfigRpcTransportClient.getOneRunningClient(ClientWorker.java:1044)

    at com.alibaba.nacos.client.config.impl.ClientWorker$ConfigRpcTransportClient.queryConfig(ClientWorker.java:940)

    at com.alibaba.nacos.client.config.impl.ClientWorker.getServerConfig(ClientWorker.java:397)

    at com.alibaba.nacos.client.config.NacosConfigService.getConfigInner(NacosConfigService.java:166)

    at com.alibaba.nacos.client.config.NacosConfigService.getConfig(NacosConfigService.java:94)

    at com.alibaba.cloud.nacos.client.NacosPropertySourceBuilder.loadNacosData(NacosPropertySourceBuilder.java:85)

    at com.alibaba.cloud.nacos.client.NacosPropertySourceBuilder.build(NacosPropertySourceBuilder.java:73)

    at com.alibaba.cloud.nacos.client.NacosPropertySourceLocator.loadNacosPropertySource(NacosPropertySourceLocator.java:199)

    at com.alibaba.cloud.nacos.client.NacosPropertySourceLocator.loadNacosDataIfPresent(NacosPropertySourceLocator.java:186)

    at com.alibaba.cloud.nacos.client.NacosPropertySourceLocator.loadNacosConfiguration(NacosPropertySourceLocator.java:158)

    at com.alibaba.cloud.nacos.client.NacosPropertySourceLocator.loadSharedConfiguration(NacosPropertySourceLocator.java:116)

    at com.alibaba.cloud.nacos.client.NacosPropertySourceLocator.locate(NacosPropertySourceLocator.java:101)

    at org.springframework.cloud.bootstrap.config.PropertySourceLocator.locateCollection(PropertySourceLocator.java:52)

    at org.springframework.cloud.bootstrap.config.PropertySourceLocator.locateCollection(PropertySourceLocator.java:47)

    at org.springframework.cloud.bootstrap.config.PropertySourceBootstrapConfiguration.initialize(PropertySourceBootstrapConfiguration.java:98)

    at org.springframework.boot.SpringApplication.applyInitializers(SpringApplication.java:623)

    at org.springframework.boot.SpringApplication.prepareContext(SpringApplication.java:367)

    at org.springframework.boot.SpringApplication.run(SpringApplication.java:311)

    at org.springframework.boot.builder.SpringApplicationBuilder.run(SpringApplicationBuilder.java:140)

    at org.springblade.core.launch.BladeApplication.run(BladeApplication.java:50)

    at org.springblade.Application.main(xxxApplication.java:32)



    bladex项目中启动没有任何报错



    截屏2022-05-02 09.51.22.png


    所有端口都是通的


    截屏2022-05-02 09.53.23.png


    作者追问:2022-04-28 09:46

    nacos删掉重装,再启动biz的服务,没有问题,没法重现。你方不方便把你本地的nacos做一个内网穿透,开通下端口,然后地址发到我们邮件 bladejava@qq.com,给邮件附上帖子地址,我们连接你的nacos测试下。

    image.pngimage.png

    image.pngimage.pngimage.png

提交回复