如何找出特定项目在riak集群中的存储位置?

时间:2011-11-22 08:12:51

标签: mapreduce riak

我有一个用于存储图像的Riak集群,我希望能够知道每个图像在集群中的存储位置。

给定图像的密钥,我想返回当前持有图像副本的服务器IP地址列表。我查看了文档,我找不到任何可以让我这样做的东西。有没有一种简单的方法可以通过Riak命令行工具或编写mapreduce函数来实现这一点?

1 个答案:

答案 0 :(得分:3)

显然,这不是通过任何公开记录的界面公开的,但我只是对这个主题进行了一项小型研究,并找到了获取此信息的接收者:

  1. 使用CLI命令 riak attach
  2. 连接到Riak节点
  3. 执行以下命令:

    riak_core_apl:get_apl(chash:key_of(?KEY),3,riak_kv)。

  4. ?KEY 是需要定位的对象的关键字。作为响应,您将获得负责指定对象的Riak节点列表,包括其IP或主机名。

    希望这会有所帮助:)