1

我正在尝试通过http://wiki.basho.com/Basic-Cluster-Setup.html在一台机器(Mac OS X Mountain Lion)上为 Riak 启动一个 3 节点集群

我下载并扩展了 Riak 1.2 的 tarball(无需构建源代码,扩展不错且干净)。然后我能够让单个节点运行没有问题,没有特殊配置。我的 Erlang 版本是 R15B05,如果你好奇的话,但我认为这与它无关,因为 1.2 完全支持这个版本。

然后我递归地复制了 riak-1.2.0 目录(扩展的 tarball 文件)三次,以创建顶级目录 riak1、riak2 和 riak3。然后我继续从链接中进行建议的更改,将端口号更改为每个实例的唯一端口号。但是,当我从链接更改 vm.args 部分(节点名称从 riak@127.0.0.1 到 riak1@127.0.0.1 等)时,我在 error.log 文件中收到以下错误:

2012-08-09 01:21:04.288 [错误] <0.161.0> gen_server riak_core_capability 因原因终止:没有函数子句匹配 orddict:fetch('riak1@127.0.0.1', [{'riak@127.0.0.1', [{{riak_core,staged_joins},[true,false]},{{riak_core,vnode_routing},[proxy,legacy]},...]}]) 第 72 行

将 vm.args(-name 参数)中的节点重命名为 riak 而不是 riak[new_number] 时,一切正常。但是,如链接中所述,节点需要具有不同的名称才能相互协作。如错误日志所示,自定义名称时似乎名称与其他名称不匹配?是否有其他一些我没有看到必须更改的配置参数?我在 app.config 中尝试了“raw_name”,但这没有任何区别。我很感激我能得到的任何帮助。谢谢!

4

1 回答 1

4

我必须执行以下操作:

./riak1/bin/riak-admin reip riak@127.0.0.1 riak1@127.0.0.1

./riak2/bin/riak-admin reip riak@127.0.0.1 riak2@127.0.0.1

./riak3/bin/riak-admin reip riak@127.0.0.1 riak3@127.0.0.1

./riak4/bin/riak-admin reip riak@127.0.0.1 riak4@127.0.0.1

于 2012-08-11T14:56:44.837 回答