如何返回riak-shell的运行实例?

时间:2016-08-11 12:59:54

标签: riak

当ssh失去与服务器的连接时,我在riak-shell中。重新连接后,我执行以下操作:

sudo riak-shell

并获得:

An instance of riak-shell is already running

所以,我重新启动了有问题的riak节点。这似乎没有解决问题。我没有看到任何使用ps -aux来杀死的东西。根据文档,一次只能运行一个实例。这是有道理的,但是当我从另一个节点运行riak-shell并尝试连接到任何节点时,我现在得到以下内容:

Error: invalid function call : connection_EXT:connect ["riak@<<<ip_address_elided>>>"]
You can connect to a specific node (whether in your riak_shell.config
or not) by typing 'connect "dev1@127.0.0.1";' substituting your
node name for dev1.

You may need to change the Erlang cookie to do this.

See also the 'reconnect' command.
Unhandled message received is {#Ref<0.0.0.135>,disconnected}

riak-shell(3)>

我没有在此过程中更改Cookie,并且Cookie看起来是相同的(至少在/etc/riak/riak_shell.config中)。 (我在AWS上运行Riak TS AMI。)

1 个答案:

答案 0 :(得分:5)

riak-shell在自己的Erlang VM中运行 - 完全独立于riak节点

(您无需在节点所在的计算机上运行riak-shell - 它使用正常的riak-erlang-clientriak进行对话

如果您使用Linux ps aux | grep riak_shell_app,它将为您提供杀死该实例所需的进程号: 08:30:45:~ $ ps aux | grep riak_shell_app vagrant 4671 0.0 0.3 493260 34884 pts/4 Sl+ Aug17 0:03 /home/vagrant/riak_ee/dev/dev1/erts-5.10.3/bin/beam.smp -- -root /home/vagrant/riak_ee/dev/dev1 -progname erl -- -home /home/vagrant -- -boot /home/vagrant/riak_ee/dev/dev1/releases/2.1.1/start_clean -run riak_shell_app boot debug_off /home/vagrant/riak_ee/dev/dev1/bin/../log/riak_shell/riak_shell -noshell -config /home/vagrant/riak_ee/dev/dev1/bin/../etc/riak

我写了很多,所以让我知道你是怎么做到的: https://github.com/basho/riak_shell/graphs/contributors