停止mac os x上的cassandra服务器

停止mac os x上的cassandra服务器,cassandra,Cassandra,如何阻止cassandra服务器在mac os x的单个节点上运行? Cassandra脚本没有-stop选项。除了重新启动MacOSX之外,唯一的方法是执行一个“ps”并找到包含cassandra参数的java进程,然后使用kill-9终止该进程 但在那之后,试图重新启动卡桑德拉仍然会失败 错误:代理引发异常:java.rmi.server.ExportException:端口已在使用中:7199;嵌套异常是: java.net.BindException:地址已在使用中 有人看到了吗?有什么

如何阻止cassandra服务器在mac os x的单个节点上运行? Cassandra脚本没有-stop选项。除了重新启动MacOSX之外,唯一的方法是执行一个“ps”并找到包含cassandra参数的java进程,然后使用kill-9终止该进程

但在那之后,试图重新启动卡桑德拉仍然会失败

错误:代理引发异常:java.rmi.server.ExportException:端口已在使用中:7199;嵌套异常是:
java.net.BindException:地址已在使用中


有人看到了吗?有什么快速的解决方法吗?

编辑:实际上我觉得这更有用

开放式终端和类型:

$ps-ax |格雷普·卡桑德拉

为您提供一个名为cassandra的PID的列表

使用PID编号终止进程,例如,这里有一个返回值: 708 ttys000 0:03.10/usr/bin/java-ea-javaagent:Downloads/Web/Cassandra/dsc-Cassandra-1.1.0/bin/

$708


旧职位:

在发布我的评论后,我在BIN中发现了一个停止服务器脚本

如果要使用该脚本,必须打开脚本并注释掉代码。但下面是脚本中的内容

 echo "please read the stop-server script before use"

    # if you are using the cassandra start script with -p, this
    # is the best way to stop:

     kill `cat <pidfile>` 


    # otherwise, you can run something like this, but
    # this is a shotgun approach and will kill other processes
    # with cassandra in their name or arguments too:

    # user=`whoami`
    # pgrep -u $user -f cassandra | xargs kill -9
echo“使用前请阅读停止服务器脚本”
#如果将cassandra开始脚本与-p一起使用,则
#停止的最佳方式是:
杀‘猫’
#否则,您可以运行类似这样的操作,但是
#这是一种鸟枪式的方法,会扼杀其他进程
#在卡桑德拉的名字或论点中:
#user=`whoami`
#pgrep-u$user-f cassandra | xargs kill-9

另一种方法是查看哪个操作系统进程打开了Cassandra端口,如下所示:

lsof -i :9160
样本输出:

COMMAND   PID  USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
java    30253 aswan  214u  IPv4 0xffffff80190dcc20      0t0  TCP *:netlock1 (LISTEN)

然后您可以在该过程中使用“kill-9[pid]”。

在其他地方找到了这个解决方案,它似乎很有效

pkill-f'java.*cassandra'

值得一试! 这在我的Ubuntu上运行。不在MacOS上


在Mac上,还有一个是
ps-af | grep cassandra
,然后使用kill。但是,它有时不起作用

您也可以使用Cassandra的nodetool命令

nodetool drain

文档中没有提到任何关于它关闭的内容,但它在一个节点本地服务器上可靠地工作。但是,完成关机通常需要几秒钟。

kill-9
`acx | grep-i cassandra | awk'{print$1}
`

如果您通过自制安装了cassandra,请使用
brew info cassandra
,它将告诉您如何使用launchctl加载/卸载cassandra。这比这里的其他答案更适合我

命令

brew info cassandra
查看cassandra的状态

brew服务启动cassandra
启动cassandra


brew services stop cassandra
要停止cassandra

我正在使用新的Datastax Enterprise 5.0版本,它至少提供了一个足够简单的命令来停止cassandra:

dse cassandra-stop

关机需要一些时间,但对我来说很有效。

我也想知道。。。正如入门文档中提到的那样,CONTROL-C在MAC OSX上不起作用。Michael,我通常以./cassandra开始,并且不传递-f标志,使进程处于前台。所以,control-c不起作用。仅供参考,我注释掉了kill'cat'以显示需要注释掉的内容。Michael,谢谢你的回答。我确实使用了问题中提到的kill process命令,但发现数据已经损坏。可能是其他原因,但通过传递PID的kill命令肯定会停止服务器。
brew服务stop cassandra
对我来说非常适合