2017-04-04 105 views
0

我正在使用cassandra的源代碼安裝。安裝完畢後我跑這樣的:無法殺死CassandraDaemon

$ pwd 
/var/users/ec2-user/apache-cassandra-3.10 
$ bin/cassandra -f 

在此之後我收到錯誤:7199

$ ps aux | grep 7199 
-javaagent:/home/ec2-user/apache-cassandra-3 .10/bin/../lib/jamm-0.3.0.jar -Dcassandra.jmx.local.port=7199 
.... 
org.apache.cassandra.service.CassandraDaemon 

現在我無法殺死

ERROR [main] 2017-04-04 14:40:34,195 CassandraDaemon.java:752 - Port already in use: 7199; nested exception is: 
java.net.BindException: Address already in use (Bind failed) 
java.net.BindException: Address already in use (Bind failed) 

然後我用grep CassandraDaemon

kill -9 <process_id_of_CassandraDaemon> 

pkill -f CassandraDaemon 

這是行不通的。我仍然在跑7199。 請幫忙。

回答

0

嘗試這一次一個:

  1. 嘗試使用sudo運行這些命令。
  2. sudo service cassandra stop(如果你在Ubuntu上運行)。
  3. 重新啓動服務器:)
0

7199不是進程ID。它實際上是一個端口。

執行此命令並查找哪個程序已經獲取了此端口。

> netstat -antp | grep 7199 

然後使用kill命令終止該程序。然後嘗試再次運行cassandra。

+0

我知道7199不是任何進程ID。我非常喜歡它,因爲我的cassandraDeamon正在使用這個端口來運行。 – dsa

0

我自己找到了答案。 我卡桑德拉是supervisord下運行,所以我不得不通過運行以下命令

sudo /etc/init.d/supervisord stop

然後我可以殺卡桑德拉進程停止supervisord