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

Posted

技术标签:

【中文标题】Cassandra 停止在 AWS 上工作(ubuntu 服务器)【英文标题】:Cassandra stop working on AWS (ubuntu server) 【发布时间】:2016-09-16 08:34:10 【问题描述】:

我已经在本地配置了 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"

Cassandra 版本:3.7

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

【问题讨论】:

【参考方案1】:

您必须删除 /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 来说,这样设置权限就足够了。

【讨论】:

我尝试过,但它抛出了同样的错误..,奇怪的是它在本地工作正常,但是当我尝试在 AWS 上执行时它不起作用。 转到 sudo vim /etc/init.d/cassandra;并且对于 CMD_PATT 用这个 CMD_PATT="cassandra" 替换它 我已经编辑了这个问题,你看看你对这个问题有什么想法吗?【参考方案2】:

停止 cassandra 服务:

sudo service cassandra stop

删除默认数据集:

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

启动cassandra服务:

sudo service cassandra start

【讨论】:

以上是关于Cassandra 停止在 AWS 上工作(ubuntu 服务器)的主要内容,如果未能解决你的问题,请参考以下文章

NVidia 驱动程序停止在带有 Ubuntu 16.04 和 Tesla K80 GPU 的 AWS EC2 实例上工作

Cassandra 在 AWS 上的部署价格

在Cassandra中使用用户定义函数时的Readtimeout

AWS 和 Auto Scaling cassandra

AWS lambda 函数在超时错误后停止工作

Swipe 和 Scroll 关键字在带有 Appium 库的 AWS Device Farm 中停止工作