Untuk layanan meskipun file pid ada, tetapi masih ketika mencoba memulai layanan, gagal mengatakan:
$ sudo service cassandra start
* could not access pidfile for Cassandra
Saya memverifikasi izin folder di bawah /var/run
(yang pemiliknya adalah root) dan subfolder cassandra dimiliki oleh pengguna cassandra, tetapi layanan tetap tidak dapat mengakses file pid meskipun saya memverifikasi bahwa file pid ada. (Juga pid dialokasikan). Jadi mengapa dikatakan tidak dapat mengakses pidfile?
Dan menjalankan cassandra
sebagai proses mandiri hanya berfungsi, tetapi tidak hanya menggunakan 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
Bagaimana cara membuat ini berfungsi menggunakan sudo service cassandra start
?
Jawaban yang Diterima:
Anda harus menghapus /var/run/cassandra
folder maka ia memiliki izin yang salah:
sudo rm -rf /var/run/cassandra
Atau Anda dapat memperbaiki izin secara manual:
sudo chmod 750 /var/run/cassandra
Kemudian mulai Cassandra sebagai layanan:
sudo service cassandra start
Beberapa penjelasan
Petunjuk tentang izin file dapat Anda temukan di sini.
-
Aman untuk menghapus folder itu karena dibuat ulang dengan izin dan konten yang tepat. Tapi jangan hapus setelah berfungsi dengan benar. Ini dapat mengakibatkan hilangnya data atau perilaku yang salah.
-
chmod 750
mendekripsi sebagai rwxr-x— izin. Ini memungkinkan read-write-execute ke pengguna, read-execute ke grup dan tidak ada apa-apa untuk orang lain. Untuk Cassandra, cukup dengan mengatur hak akses saja.