我是Aerospike的新手......!
当我试图将记录插入数据库时,它会显示超时错误,如...
aql> INSERT INTO test.student (pk, emp_id, name, age) VALUES ('k003', 'BP003', 'Sai', 25)
Error: (9) Client timeout: timeout=1000 iterations=1 failedNodes=0 failedConns=0
还有一件事......
我关闭了我的wifi然后再运行相同的命令它没有显示错误并且命令成功运行。
aql> INSERT INTO test.student (pk, emp_id, name, age) VALUES ('k003', 'BP003', 'Sai', 25)
OK, 1 record affected.
所以这意味着......?
任何人都可以帮助我摆脱这个.....!
答案 0 :(得分:4)
这意味着你应该增加超时参数。根据您离数据库的距离,1秒可能还不够。
答案 1 :(得分:3)
你的网络出了问题,因为你没有提到你的客户在哪里(运行AQL
的地方)以及你的服务器在哪里,这是不可能的。显然,如果客户端无法访问服务器,则无法进行操作。如果两者都是localhost你可能有一些奇怪的配置,你的wifi试图在互联网上寻找127.0.0.1
,一旦你断开它,客户端就能够在本地到达服务器...没有足够的细节知道
只需确保您的客户端可以看到您的服务器节点。最简单的方法是尝试telnet <host> 3000
(假设默认端口为3000)。
关于超时(一般情况下)AQL
类型help
,您将获得(除其他外):
SETTINGS
TIMEOUT (time in ms, default: 1000)
RECORD_TTL (time in sec, default: 0)
RECORD_PRINT_METADATA (true | false, default false)
VERBOSE (true | false, default false)
ECHO (true | false, default true)
FAIL_ON_CLUSTER_CHANGE (true | false, default true, policy applies to scans)
OUTPUT (TABLE | JSON, default TABLE)
LUA_USERPATH <path>, default : /opt/aerospike/usr/udf/lua
LUA_SYSPATH <path>, default : /opt/aerospike/sys/udf/lua
USE_SMD (true | false, default false)
REPLICA_ANY (true | false, default false)
To get the value of a setting, run:
aql> GET <setting>
To set the value of a setting, run:
aql> SET <setting> <value>
所以,SET TIMEOUT 2500
,例如。
答案 2 :(得分:0)
在aql中执行以下命令:
SET TIMEOUT 3000;
答案 3 :(得分:0)
1000 ms的超时对于生产服务器来说是很大的超时。我不建议增加超时,而最好调查一下是什么原因导致客户端和服务器之间的计时问题。