Raj*_*pta 4 permissions services 12.04 cassandra
对于服务,虽然存在pid文件,但在尝试启动服务时仍然失败,提示:
$ sudo service cassandra start
* could not access pidfile for Cassandra
Run Code Online (Sandbox Code Playgroud)
我验证了文件夹权限/var/run
(其所有者是 root)并且子文件夹 cassandra 归 cassandra 用户所有,但是即使我验证了 pid 文件存在,该服务仍然无法访问 pid 文件。(还分配了pid)。那么为什么它说它无法访问pidfile?
并且cassandra
作为独立进程运行可以正常工作,但不仅仅是使用service cassandra start
$ sudo ls -l /var/run/cassandra
total 4
-rw-r--r-- 1 cassandra cassandra 4 Mar 18 07:33 cassandra.pid
$ sudo su
# ls -ld /var/run/cassandra
dr--r----- 2 cassandra cassandra 60 Mar 18 07:38 /var/run/cassandra
Run Code Online (Sandbox Code Playgroud)
我如何使这项工作使用sudo service cassandra start
?
您必须删除/var/run/cassandra
文件夹,因此它具有错误的权限:
sudo rm -rf /var/run/cassandra
Run Code Online (Sandbox Code Playgroud)
或者您可以手动修复权限:
sudo chmod 750 /var/run/cassandra
Run Code Online (Sandbox Code Playgroud)
然后启动 Cassandra 作为服务:
sudo service cassandra start
Run Code Online (Sandbox Code Playgroud)
您可以在此处找到文件权限说明。
删除该文件夹是安全的,因为它使用正确的权限和内容重新创建。但是一旦它工作正常就不要删除它。这可能会导致数据丢失或错误行为。
chmod 750
解密为 rwxr-x--- 权限。它允许对用户进行读写执行,对组进行读取执行,而对其他人则不允许。对于 Cassandra,这样设置权限就足够了。
归档时间: |
|
查看次数: |
22036 次 |
最近记录: |