Cassandra 停止在 AWS 上工作(ubuntu 服务器)

Cassandra stop working on AWS (ubuntu server)

我已经在本地配置了 cassandra-cluster,它工作正常,按照我在 ubuntu-server 实例上在 AWS 上配置 cassandra-cluster 的相同步骤。

它工作正常,但如果我从一个节点停止 cassandra 服务:

sudo service cassandra stop

然后我启动它,这个节点再也没有连接到集群。 它没有抛出下一个错误:

* could not access pidfile for Cassandra

我的cassandra版本是3.7,所以如果我访问/etc/init.d/cassandra,那么下一个就是cmd_patt: CMD_PATT="Dcassandra-pidfile=.*cassandra.pid"

卡桑德拉版本:3.7

主机:ubuntu 服务器 14.04 (AWS)。

您必须删除 /var/run/cassandra 文件夹,因此它的权限有误:

sudo rm -rf /var/run/cassandra

或者您可以手动修复权限:

sudo chmod 750 /var/run/cassandra

然后启动 Cassandra 作为服务:

sudo service cassandra start


一些解释

您可以找到文件权限说明 here

  • 删除该文件夹是安全的,因为它会以正确的权限和内容重新创建。但是一旦它工作正常就不要删除它。这可能会导致数据丢失或不正确的行为。

  • chmod 750 解密为 rwxr-x--- 权限。它允许对用户进行读写执行,对组进行读取执行,而对其他人则不允许。对于Cassandra来说,这样设置权限就够了。

停止 cassandra 服务:

sudo service cassandra stop

删除默认数据集:

sudo rm -rf /var/lib/cassandra/data/system/*

启动cassandra服务:

sudo service cassandra start