Для сервиса, хотя изодромный с предварением файл существует, но все еще при попытке запустить сервис, он приводит высказывание к сбою:
$ sudo service cassandra start
* could not access pidfile for Cassandra
Я проверил полномочия папки под /var/run
(чей владелец является корнем), и подпапка cassandra принадлежит cassandra пользователю, но тем не менее сервис не может получить доступ к изодромному с предварением файлу даже при том, что я проверил, что изодромный с предварением файл существует. (Также 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
Как я делаю это использование работы sudo service cassandra start
?
Необходимо удалить /var/run/cassandra
папка следовательно, она имеет неправильные полномочия:
sudo rm -rf /var/run/cassandra
Или можно зафиксировать полномочия вручную:
sudo chmod 750 /var/run/cassandra
Тогда запускают Cassandra как сервис:
sudo service cassandra start
<час>
Инструкции полномочий файла можно найти здесь .
безопасно удалить ту папку, потому что это воссоздает с правильными полномочиями и содержанием. Но не удаляйте его, как только это работает корректное. Это может привести к потере данных или неправильного поведения.
chmod 750
дешифрует как rwxr-x---полномочия. Это позволяет read-write-execute пользователю, читайте - выполняются группе и ничему другим. Для Cassandra достаточно установить полномочия так.
Мое решение для миграции Cassandra 2.0.9 к 2.1.4
После обновления с
sudo apt-get install dsc21
Перейдите к файлу журнала:
tail -f /var/log/cassandra/system.log
Вы видите, что необходимо изменить cassandra конфигурационный файл.
Остановите Cassandra
sudo /etc/init.d/cassandra stop
Перейдите к конфигурационному файлу Cassandra
sudo vi /etc/cassandra/cassandra.yaml
Прокомментируйте эти 5 строк или удалите их:
multithreaded_compaction: false
preheat_kernel_page_cache: false
memtable_flush_queue_size: 4
in_memory_compaction_limit_in_mb: 64
compaction_preheat_key_cache: true
Запустите Cassandra
sudo /etc/init.d/cassandra start
Проверить
nodetool status
Это решение может быть достигнуто следующий путь:
$ sudo vim /etc/init.d/cassandra;
Находят следующую линию:
CMD_PATT="cassandra.+CassandraDaemon"
Заменяют:
CMD_PATT="cassandra"
Экономят и останавливаются и начинаются снова. Обслуживание получит статус правильно; Проверенный на источнике cassandra 2.3
здесь: https://www.digitalocean.com/community/tutorials/how-to-install-cassandra-and-run-a-single-node-cluster-on-ubuntu-14-04 (проверяют ШАГ 3)