2

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

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

4

1 回答 1

3

显然,这不是通过任何公开的文档接口公开的,但我只是对这个主题做了一个小的研究,并找到了获取此信息的接收器:

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

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

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

希望这可以帮助 :)

于 2012-04-19T17:50:06.227 回答