Concurrency Riak-并发Erlang映射/减少作业

Concurrency Riak-并发Erlang映射/减少作业,concurrency,erlang,mapreduce,virtual-machine,riak,Concurrency,Erlang,Mapreduce,Virtual Machine,Riak,我正在上运行Erlang Map/Reduce作业 在过去我使用Javascript M/R作业时,我必须正确地调整jsvm设置。当时我发现这段对话非常有用:去 现在,由于我不是Erlang开发人员,我想知道在Riak上运行并发m/R作业时的主要含义是什么,以及是否需要设置任何VM设置(就像我以前对JS m/R所做的那样) 感谢这里发生的基本情况是map/reduce查询的所有阶段都是由ErlangVM执行的,而不是由Erlang+JS执行的。由于作业在单独的进程中被隔离在ErlangVM中,因

我正在上运行Erlang Map/Reduce作业

在过去我使用Javascript M/R作业时,我必须正确地调整jsvm设置。当时我发现这段对话非常有用:去

现在,由于我不是Erlang开发人员,我想知道在Riak上运行并发m/R作业时的主要含义是什么,以及是否需要设置任何VM设置(就像我以前对JS m/R所做的那样)


感谢

这里发生的基本情况是map/reduce查询的所有阶段都是由ErlangVM执行的,而不是由Erlang+JS执行的。由于作业在单独的进程中被隔离在ErlangVM中,因此操作不受影响。在主机方面,您具有相同的计算能力,因此也可以。关于ERLAGVM参数,其中许多参数都经过了调整,以改进Riak操作,您的查询很方便。

目前,我们发现Riak mapred gotchas:

  • 。这是发生在你有很多 到达映射作业和作业队列的数据已满
  • 用r=1读取。mapreduce中的所有数据都是用r=1读取的
  • 无读修复。Mapreduce读取不会触发
  • 您可能会得到已删除的数据。在mapred内检查对象的特殊头,这表示该对象已被删除

p、 这是关于riak 1.2.1的。Basho人员很快就解决了许多问题,因此在不久的将来可能会进行更改。

这意味着我可以在集群中同时运行20个繁重的M/R作业,只要我的机器上有足够的CPU/内存,就不用担心了?谢谢。我更关心的是运行时的性能问题,例如,集群中有20个并发的大量M/R作业。我认为只要我有可用的CPU/内存,我就不会有麻烦,对吗?如果你已经编写了erlang代码,你可以使用riak管道(这是riak的mapreduce引擎)。我们直接使用riak管道,这允许我们运行大量mapreduce作业,而不会出现此类问题。