问题一:nacos有支持postgresql版本吗?
nacos有支持postgresql版本吗?
参考回答:
Nacos支持PostgreSQL数据库。自Nacos 2.0版本以来,Nacos增加了对PostgreSQL数据库的支持。用户可以使用PostgreSQL作为Nacos的持久化存储数据库,替代默认的MySQL数据库。在部署Nacos时,可以通过配置相关环境变量或修改配置文件来指定连接到PostgreSQL数据库。
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/582901
问题二:Nacos默认的maxLifeTime数值是多少啊?
Nacos默认的maxLifeTime数值是多少啊?
2023-12-19 23:29:25,810 WARN HikariPool-1 - Failed to validate connection com.mysql.cj.jdbc.ConnectionImpl@150eee61 (Communications link failure
The last packet successfully received from the server was 20,009 milliseconds ago. The last packet sent successfully to the server was 20,010 milliseconds ago.). Possibly consider using a shorter maxLifetime value. 日志显示是nacos的maxLifeTime过大。。
参考回答:
看下这个:https://blog.csdn.net/weixin_43159975/article/details/112644122
另外你看看是不是数据库压力太大了,升级数据库配置缓解一下试试。
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/582566
问题三:Nacos上述集群模式下告警,是因为连接mysql异常导致整个集群异常了吗?
Nacos上述集群模式下告警,是因为连接mysql异常导致整个集群异常了吗?
2023-12-19 23:29:25,810 WARN HikariPool-1 - Failed to validate connection com.mysql.cj.jdbc.ConnectionImpl@150eee61 (Communications link failure
The last packet successfully received from the server was 20,009 milliseconds ago. The last packet sent successfully to the server was 20,010 milliseconds ago.). Possibly consider using a shorter maxLifetime value.
2023-12-19 23:29:27,179 INFO [Cluster-nacos1:8848] Server healthy check fail, currentConnection = 1702958250987_10.11.1.11_58150
2023-12-19 23:29:27,180 INFO [Cluster-nacos1:8848] Try to reconnect to a new server, server is not appointed, will choose a random server.
2023-12-19 23:29:28,039 INFO [Cluster-nacos3:8848] Server healthy check fail, currentConnection = 1702958241223_10.11.1.11_39560
2023-12-19 23:29:28,039 INFO [Cluster-nacos3:8848] Try to reconnect to a new server, server is not appointed, will choose a random server.
2023-12-19 23:29:28,273 WARN HikariPool-1 - Failed to validate connection com.mysql.cj.jdbc.ConnectionImpl@2eb23bbc (Communications link failure
The last packet successfully received from the server was 152,630 milliseconds ago. The last packet sent successfully to the server was 152,631 milliseconds ago.). Possibly consider using a shorter maxLifetime value.
2023-12-19 23:29:30,181 ERROR Server check fail, please check server nacos1 ,port 9849 is available , error ={}
java.util.concurrent.TimeoutException: Waited 3000 milliseconds (plus 86087 nanoseconds delay) for io.grpc.stub.ClientCallsGrpcFuture@37bda231[status=PENDING, info=[GrpcFuture{clientCall=ClientCallImpl{method=MethodDescriptor{fullMethodName=Request/request, type=UNARY, idempotent=false, safe=false, sampledToLocalTracing=true, requestMarshaller=io.grpc.protobuf.lite.ProtoLiteUtilsGrpcFuture@37bda231[status=PENDING, info=[GrpcFuture{clientCall=ClientCallImpl{method=MethodDescriptor{fullMethodName=Request/request, type=UNARY, idempotent=false, safe=false, sampledToLocalTracing=true, requestMarshaller=io.grpc.protobuf.lite.ProtoLiteUtilsGrpcFuture@37bda231[status=PENDING, info=[GrpcFuture{clientCall=ClientCallImpl{method=MethodDescriptor{fullMethodName=Request/request, type=UNARY, idempotent=false, safe=false, sampledToLocalTracing=true, requestMarshaller=io.grpc.protobuf.lite.ProtoLiteUtilsMessageMarshaller@794b08c8, responseMarshaller=io.grpc.protobuf.lite.ProtoLiteUtilsMessageMarshaller@82645e5,schemaDescriptor=com.alibaba.nacos.api.grpc.auto.RequestGrpcMessageMarshaller@82645e5,schemaDescriptor=com.alibaba.nacos.api.grpc.auto.RequestGrpcMessageMarshaller@82645e5, schemaDescriptor=com.alibaba.nacos.api.grpc.auto.RequestGrpcRequestMethodDescriptorSupplier@61a8356c}}}]]
at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:508)
at com.alibaba.nacos.common.remote.client.grpc.GrpcClient.serverCheck(GrpcClient.java:196)
at com.alibaba.nacos.common.remote.client.grpc.GrpcClient.connectToServer(GrpcClient.java:307)
at com.alibaba.nacos.common.remote.client.RpcClient.reconnect(RpcClient.java:498)
at com.alibaba.nacos.common.remote.client.RpcClient.lambdastartstartstart2(RpcClient.java:339)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ScheduledThreadPoolExecutorScheduledFutureTask.accessScheduledFutureTask.accessScheduledFutureTask.access201(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:750)
2023-12-19 23:29:31,041 ERROR Server check fail, please check server nacos3 ,port 9849 is available , error ={}
参考回答:
最后一句说的很明白,检查下nacos3的9849端口。
2023-12-19 23:29:31,041 ERROR Server check fail, please check server nacos3 ,port 9849 is available , error ={}
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/582565
问题四:prometheus 能从nacos 拉取微服务监控指标吗?跟eureka一样。
prometheus 能从nacos 拉取微服务监控指标吗?跟eureka一样。
参考回答:
可以的,看看这个文档。
https://nacos.io/zh-cn/docs/monitor-guide.html
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/582564
问题五:请教一个问题。nacos2.2.3版本。发布配置的时候。是不是少了什么配置?
请教一个问题。nacos2.2.3版本。发布配置的时候。获取不到 ENCRYPTED_DATA_KEY 导致 入库 HIS_CONFIG_INFO 失败。是不是少了什么配置?
参考回答:
在Nacos 2.2.3版本中,如果在发布配置时获取不到ENCRYPTED_DATA_KEY
,并且因此导致无法成功入库到HIS_CONFIG_INFO
表,可能存在以下几种情况:
- 加密功能未启用或配置不正确:
确保你在Nacos服务端已经启用了配置的加密功能,并且在客户端也正确配置了加密相关的设置。这可能涉及到在Nacos的配置文件中设置加密算法、密钥等信息。 - 缺少加密Key的生成或传递:
在发布配置时,如果使用了加密,Nacos服务端应该会生成一个ENCRYPTED_DATA_KEY
并将其与配置内容一起返回给客户端。检查你的发布配置代码或者调用过程,确保在请求中包含了生成或获取加密Key的步骤,并且这个Key被正确地用于加密配置内容。 - 数据库表结构不匹配:
根据之前的知识库信息,Nacos 2.1及以后的版本需要HIS_CONFIG_INFO
表包含encrypted_data_key
字段。确认你的数据库表结构是否与Nacos 2.2.3版本的要求相匹配,包括字段名称、类型和注释。 - 升级或迁移问题:
如果你是从之前的Nacos版本升级到2.2.3,可能存在数据库表结构未正确更新的问题。确保在升级过程中执行了所有必要的数据库迁移脚本,包括添加encrypted_data_key
字段的ALTER TABLE语句。 - 服务端 bug 或兼容性问题:
尽管这种情况相对较少,但也不能完全排除Nacos服务端存在bug或与特定环境的兼容性问题
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/581944