我有一个装有3台服务器的riak群集。我可以查看一下位容器,以确定该集群当前正在使用多少磁盘空间,但我也想找出集群中当前存储了多少项。
集群用于存储图像,这意味着二进制数据是针对一组存储桶中的键存储的。我尝试对HTTP接口使用map reduce函数,以返回存储桶中的项目数,但是它们已超时。
从特定存储桶中获取密钥数量计数的最优化时间的方法是什么?
最佳答案
即使使用MapReduce功能,对Riak集群上存储桶中的键数进行计数也不是很有效。
我发现计算项目数量的最有效方法是通过流式API在客户端上进行。以下示例使用node-js进行此操作。
首先安装riak-js客户端
npm install riak-js@latest
然后在命令行上运行以下命令以提供计数。
node -e "require('riak-js').getClient({ host: 'hostname', port: 8098 }).count('bucket');"
关于mapreduce - 在riak桶中获取 key 计数的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8215708/