Не может запустить приложение как сервис, но работающий, поскольку автономный процесс просто работает

Для сервиса, хотя изодромный с предварением файл существует, но все еще при попытке запустить сервис, он приводит высказывание к сбою:

$ 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 ?

4
задан 6 February 2018 в 11:33

3 ответа

Необходимо удалить /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 достаточно установить полномочия так.

5
ответ дан 1 December 2019 в 09:16

Мое решение для миграции Cassandra 2.0.9 к 2.1.4

После обновления с

sudo apt-get install dsc21

Перейдите к файлу журнала:

tail -f /var/log/cassandra/system.log

Вы видите, что необходимо изменить cassandra конфигурационный файл.

  1. Остановите Cassandra

    sudo /etc/init.d/cassandra stop
    
  2. Перейдите к конфигурационному файлу Cassandra

    sudo vi /etc/cassandra/cassandra.yaml
    
  3. Прокомментируйте эти 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
  4. Запустите Cassandra

    sudo /etc/init.d/cassandra start
    
  5. Проверить

    nodetool status
    
0
ответ дан 1 December 2019 в 09:16

Это решение может быть достигнуто следующий путь:

$ 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)

2
ответ дан 1 December 2019 в 09:16

Другие вопросы по тегам:

Похожие вопросы: