Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mapreduce 如何找出某个特定项目在riak集群中的存储位置?_Mapreduce_Riak - Fatal编程技术网

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

Mapreduce 如何找出某个特定项目在riak集群中的存储位置?,mapreduce,riak,Mapreduce,Riak,我有一个Riak集群,用于存储图像,我希望能够知道每个图像在集群中的存储位置 给定映像的密钥,我想返回当前保存映像副本的服务器IP地址列表。我已经检查了文档,我找不到任何可以让我这样做的东西。是否有一种简单的方法可以通过Riak命令行工具或编写mapreduce函数来实现这一点?显然,这并不是通过任何公开的文档界面公开的,但我只是对这个主题做了一个小研究,并找到了获取此信息的方法: 使用CLI命令连接到Riak节点Riak attach 执行以下命令: riak_core_apl:get_apl

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


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

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

  • 使用CLI命令连接到Riak节点Riak attach
  • 执行以下命令:

    riak_core_apl:get_apl(chash:key_of(?key),3,riak_kv)

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


    希望这能有所帮助:)

    出于兴趣,您为什么需要了解这些信息?我想这样做是为了了解一点数据的位置,并能够向其他人证明数据复制正在工作。作为一种“相对”的新技术,我发现了解我们存储在集群中的数据发生了什么变化很有趣。