更改节点名称后 riak 不会启动

riak won't start after changing nodename

我刚刚在我的虚拟机 (Ubuntu 14.04) 上安装了 riak。 问题是当我从以下位置编辑 /etc/riak/riak.conf 时:

nodename = riak@127.0.0.1

nodename = riak@10.20.0.110

这是我的虚拟机的ip,服务无法启动。我收到以下错误。

root@ubuntu-amd64:/home/ubuntu# riak console

config is OK -config /var/lib/riak/generated.configs/app.2015.07.20.09.57.02.config -args_file /var/lib/riak/generated.configs/vm.2015.07.20.09.57.02.args -vm_args /var/lib/riak/generated.configs/vm.2015.07.20.09.57.02.args Exec: /usr/lib/riak/erts-5.10.3/bin/erlexec -boot /usr/lib/riak/releases/2.1.0/riak -config /var/lib/riak/generated.configs/app.2015.07.20.09.57.02.config -args_file /var/lib/riak/generated.configs/vm.2015.07.20.09.57.02.args -vm_args /var/lib/riak/generated.configs/vm.2015.07.20.09.57.02.args -pa /usr/lib/riak/lib/basho-patches -- console Root: /usr/lib/riak Erlang R16B02_basho8 (erts-5.10.3) [source] [64-bit] [smp:1:1] [async-threads:64] [kernel-poll:true] [frame-pointer]

[os_mon] memory supervisor port (memsup): Erlang has closed [os_mon] cpu supervisor port (cpu_sup): Erlang has closed {"Kernel pid terminated",application_controller,"{application_start_failure,riak_core,{bad_return,{{riak_core_app,start,[normal,[]]},{'EXIT',{{function_clause,[{orddict,fetch,[riak@localhost,[]],[{file,\"orddict.erl\"},{line,72}]},{riak_core_capability,renegotiate_capabilities,1,[{file,\"src/riak_core_capability.erl\"},{line,441}]},{riak_core_capability,handle_call,3,[{file,\"src/riak_core_capability.erl\"},{line,213}]},{gen_server,handle_msg,5,[{file,\"gen_server.erl\"},{line,585}]},{proc_lib,init_p_do_apply,3,[{file,\"proc_lib.erl\"},{line,239}]}]},{gen_server,call,[riak_core_capability,{register,{riak_core,vnode_routing},{capability,[proxy,legacy],legacy,{riak_core,legacy_vnode_routing,[{true,legacy},{false,proxy}]}}},infinity]}}}}}}"}

Crash dump was written to: /var/log/riak/erl_crash.dump Kernel pid terminated (application_controller) ({application_start_failure,riak_core,{bad_return,{{riak_core_app,start,[normal,[]]},{'EXIT',{{function_clause,[{orddict,fetch,[riak@localhost,[]],[{fi

我注意到 nodename 变量非常敏感,即使使用这样的配置它也不会工作:

nodename = riak@localhost

我当然变了

listener.http.internal = 10.20.0.110:8098
listener.protobuf.internal = 10.20.0.110:8087

还有。

/var/log/riak/erl_crash.dump

我在 this post 中找到了解决方案。

sudo rm -rf /var/lib/riak/ring/* # delete the riak ring