20

Mac OS Xの単一ノードで実行されているcassandraサーバーを停止するにはどうすればよいですか?Cassandraスクリプトには-stopオプションがありません。mac os xを再起動する以外の唯一の方法は、「ps」を実行し、cassandraの引数を持つJavaプロセスを見つけ、kill-9を使用してプロセスを強制終了することでした。

しかし、その後カサンドラを再起動しようとすると、それでもスローされます

Error: Exception thrown by the agent : java.rmi.server.ExportException: Port already in use: 7199; nested exception is: java.net.BindException: Address already in use

誰か見た?迅速な解決策はありますか?

4

7 に答える 7

27

自作でcassandraをインストールした場合は、を使用するbrew info cassandraと、launchctlを使用してcassandraをロード/アンロードする方法がわかります。これは、ここにある他の回答よりもうまく機能しました。

コマンド

brew info cassandraカサンドラの状態を確認するには

brew services start cassandraカサンドラを開始するには

brew services stop cassandraカサンドラを止めるには

于 2016-04-19T19:05:17.510 に答える
23

編集:私は実際にこれがはるかに便利だと思います。

ターミナルを開いて次のように入力します。

$ ps -ax | grep cassandra

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
于 2012-06-05T01:22:39.320 に答える
20

うまくいくように見える他の場所でこの解決策を見つけました!

pkill -f 'java.*cassandra'

試すだけの価値があります!これは私が持っているUbuntuで動作します。MacOSではありません!

Macでは、もう1つはps -af | grep cassandrakillを使用します。しかし、それは時々動作しません!

于 2012-07-05T06:31:05.950 に答える
4

別のアプローチは、次のように、どのOSプロセスで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]」を使用できます。

于 2012-07-02T05:54:20.173 に答える
4

Cassandraのnodetoolコマンドも使用できます。

nodetool drain

ドキュメントにはシャットダウンについては何も書かれていませんが、単一ノードのローカルサーバーで確実に機能します。ただし、通常、シャットダウンが完了するまでに数秒かかります。

于 2013-10-21T18:29:03.620 に答える
0

-9`を` acx | grep -i cassandra | awk '{print$1}'殺す

于 2013-11-12T13:51:45.643 に答える
0

私は新しいDatastaxEnterprise5.0バージョンを使用していますが、少なくとも、Cassandraを停止するための十分に単純なコマンドを提供します。

dse cassandra-stop

シャットダウンするのに少し時間がかかりますが、私にとってはうまくいきます。

于 2016-08-23T13:23:15.133 に答える