1

我正在尝试使用托管在 Google Compute Engine 上的 Aerospike 命名空间上的 java AerospikeClient 编写记录。但得到以下异常:

TODO:写入用户记录AerospikeException - 消息:客户端超时:超时=0 迭代=2 failedNodes=2 failedConns=0 lastNode=null AerospikeException - StackTrace:com.aerospike.client.AerospikeException$Timeout:客户端超时:超时=0 迭代=2 failedNodes =2 failedConns=0 lastNode=null at com.aerospike.client.command.SyncCommand.execute(SyncCommand.java:129) at com.aerospike.client.AerospikeClient.put(AerospikeClient.java:299) at com.aerospike.developer .training.UserService.createUser(UserService.java:126) 在 com.aerospike.developer.training.Program.work(Program.java:120) 在 com.aerospike.developer.training.Program.main(Program.java:67) )

我已使用 Compute Engine 实例的外部和内部 IP 创建新的 AerospikeClient("compute_engine_ip",3000) 但同样的错误。需要帮助来修复此错误

4

1 回答 1

4

此异常表示客户端和服务器之间通过端口 3000 的连接问题。

请仔细检查您在 aerospike.conf 中的网络配置接口地址和访问地址设置。

Aerospike 网络配置

您可以通过在服务器节点上运行以下命令来检查哪些 IP 正在发布到客户端。

asinfo -v services

asinfo -v service

上述命令提供的列表中的其中一个 ips应与客户端上配置的 IP 地址匹配。

客户端可能使用旧的种子服务器 IP 地址,而您的新集群具有不同的 IP 地址。

修改您的客户端策略并在客户端上设置failIfNotConnected=true以在种子服务器出现问题时立即失败可能很有用:

http://www.aerospike.com/apidocs/java/com/aerospike/client/policy/ClientPolicy.html#failIfNotConnected

于 2015-06-01T20:08:56.527 回答