所以我一直在浏览Aerospike的文档,我仍然无法理解如何通过Java API(不是AQL)在名称空间中获取主(未复制)记录的数量)..任何帮助?
答案 0 :(得分:3)
我尝试使用在localhost,端口3000上运行的服务器。您可以进一步探索Info类并使用更好的结构。我在命名空间中有10,000个对象,名为' test'。
String output = Info.request("127.0.0.1", 3000, "namespace/test");
String[] mp = output.split(";") ;
console.printf(mp[0]);
我的控制台上输出了以下内容:
objects=10000
答案 1 :(得分:2)
我重复了一个三节点集群。 10,000个主对象,复制因子为2.通过在同一个VM上运行3个aerospike进程创建集群,但将端口分别为3000,4000和5000。
Java代码(不解析字符串):
console.printf("\nNode at Port 3000\n");
console.printf(Info.request("127.0.0.1", 3000, "namespace/test"));
console.printf("\nNode at Port 4000\n");
console.printf(Info.request("127.0.0.1", 4000, "namespace/test"));
console.printf("\nNode at Port 5000\n");
console.printf(Info.request("127.0.0.1", 5000, "namespace/test"));
相关产出:
Node at Port 3000
objects=6537;sub_objects=0;master_objects=3286;master_sub_objects=0;prole_objects=3251;prole_sub_objects=0;...
Node at Port 4000
objects=6674;sub_objects=0;master_objects=3294;master_sub_objects=0;prole_objects=3380;prole_sub_objects=0;...
Node at Port 5000
objects=6789;sub_objects=0;master_objects=3420;master_sub_objects=0;prole_objects=3369;prole_sub_objects=0;...
使用asadm进行交叉检查
asadm>info