16.04.01 LTS на AWS - Redis, больше не работающий

Мы выполняли redis-сервер в ряде AWS EC2 экземпляры Ubuntu (14.04.4 LTS) без проблем. Я вращал тестовый сервер для попытки обновления Ubuntu 16.04.1 LTS, и теперь советы не будут работать.

Если я пытаюсь запустить советы вручную, я получаю это:

~$ sudo service redis-server restart
Job for redis-server.service failed because the control process exited with error code. See "systemctl status redis-server.service" and "journalctl -xe" for details.

Информация об ошибке:

~$ systemctl status redis-server.service  
● redis-server.service - Advanced key-value store
  Loaded: loaded (/lib/systemd/system/redis-server.service; enabled; vendor preset: enabled)
  Active: inactive (dead) (Result: exit-code) since Wed 2016-10-19 19:26:06 UTC; 25min ago
    Docs: http://redis.io/documentation,
          man:redis-server(1)
 Process: 3730 ExecStart=/usr/bin/redis-server /etc/redis/redis.conf (code=exited, status=1/FAILURE)
 Process: 3724 ExecStartPre=/bin/run-parts --verbose /etc/redis/redis-server.pre-up.d (code=exited, status=0/SUCCESS)

Oct 19 19:26:06 ip-x-y-z-w systemd[1]: redis-server.service: Control process exited, code=exited status=1
Oct 19 19:26:06 ip-x-y-z-w systemd[1]: Failed to start Advanced key-value store.
Oct 19 19:26:06 ip-x-y-z-w systemd[1]: redis-server.service: Unit entered failed state.
Oct 19 19:26:06 ip-x-y-z-w systemd[1]: redis-server.service: Failed with result 'exit-code'.
Oct 19 19:26:06 ip-x-y-z-w systemd[1]: redis-server.service: Service hold-off time over, scheduling restart.
Oct 19 19:26:06 ip-x-y-z-w systemd[1]: Stopped Advanced key-value store.
Oct 19 19:26:06 ip-x-y-z-w systemd[1]: redis-server.service: Start request repeated too quickly.
Oct 19 19:26:06 ip-x-y-z-w systemd[1]: Failed to start Advanced key-value store.

Я попробовал следующее:

  • перезапущенный сервер
  • запустите наш скрипт развертывания, который включает перезапуск советов
  • б/У sudo apt-get удалить и переустановить redis-сервер
  • сделанный установка дважды, однажды принятие нового /etc/redis/redis.conf файл от пакета, и однажды хранение нашего исходного файла

Какие-либо предложения?

8
задан 19 October 2016 в 13:00

5 ответов

Возможно, попробуйте это, вот рабочая конфигурация для /lib/systemd/system/redis.service, видят, работает ли это, возможно, на Вас.

[Unit]
Description=Redis Datastore Server
After=network.target

[Service]
Type=forking
PIDFile=/var/run/redis/redis_6379
User=redis
Group=redis

Environment=statedir=/var/run/redis
PermissionsStartOnly=true
ExecStartPre=/bin/mkdir -p ${statedir}
ExecStartPre=/bin/chown -R redis:redis ${statedir}
ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf 
ExecReload=/bin/kill -USR2 $MAINPID
ExecStop=/usr/local/bin/redis-cli shutdown
Restart=always

[Install]
WantedBy=multi-user.target

Затем проверяют файл журнала, указанный в конфигурацию /etc/redis/redis.conf, чтобы удостовериться, что у Вас есть корректные полномочия.

0
ответ дан 23 November 2019 в 05:48

Я установил использование советов apt-get install redis-server

Проблема для меня: учебные руководства, которые я нашел, например, другой ответ на этот вопрос, предполагают, что двоичные файлы советов расположены в /usr/local/bin .

На моей установке они расположены в /usr/bin таким образом, фиксация для этого изменяется /etc/systemd/system/redis.service отразить это.

В этой точке я могу в запуске /usr/bin/redis-server /etc/redis/redis.conf вручную и успешно выполненный sudo systemctl start redis.

Таким образом, то, что необходимо сделать для получения советов, работающих над 16,04:

  1. Удостоверьтесь, что Вы установили использование apt-get install redis-server, не загружайте tar, затем делайте и устанавливайте.
  2. Создайте или отредактируйте сервис советов путем выполнения sudo vi /etc/systemd/system/redis.service
  3. Отредактируйте его для сходства с, это затем сохраняет:
[Unit]
Description=Redis Datastore Server
After=network.target

[Service]
Type=forking
PIDFile=/var/run/redis/redis_6379
User=redis
Group=redis

Environment=statedir=/var/run/redis
PermissionsStartOnly=true
ExecStartPre=/bin/mkdir -p ${statedir}
ExecStartPre=/bin/chown -R redis:redis ${statedir}
ExecStart=/usr/bin/redis-server /etc/redis/redis.conf
ExecReload=/bin/kill -USR2 $MAINPID
ExecStop=/usr/bin/redis-cli shutdown
Restart=always

[Install]
WantedBy=multi-user.target
  1. Выход vi назад для избиения. Необходимо смочь запустить сервис теперь с sudo systemctl start redis
  2. Если точка 4 не работает, можно, вероятно, по крайней мере, запустить ее вручную путем выполнения sudo /usr/bin/redis-server /etc/redis/redis.conf .

Важная часть, которую я должен был отредактировать, удостоверялась это

ExecStart =/usr/bin/redis-server/etc/redis/redis.conf

ExecStop =/usr/bin/redis-cli завершают работу

строки не указали на usr/local/bin/foo - потребность удалить /local

5
ответ дан 23 November 2019 в 05:48

У меня была та же проблема, но причина отличалась.

Я использовал советы для тестирования на VM с клиентом DHCP.

Конфигурация /etc/redis/redis.conf указывал на неправильный (старый) локальный IP, и таким образом он не мог связать сервис с новым присвоенным IP от DHCP.

Вот журнал для такой проблемы:

mar 13 12:47:53 dev-vm systemd[1]: Failed to start Advanced key-value store.
mar 13 12:47:53 dev-vm systemd[1]: redis-server.service: Unit entered failed state.
mar 13 12:47:53 dev-vm systemd[1]: redis-server.service: Failed with result 'resources'.
mar 13 12:47:53 dev-vm systemd[1]: redis-server.service: Service hold-off time over, scheduling restart.
mar 13 12:47:53 dev-vm systemd[1]: Stopped Advanced key-value store.
mar 13 12:47:53 dev-vm systemd[1]: redis-server.service: Start request repeated too quickly.
mar 13 12:47:53 dev-vm systemd[1]: Failed to start Advanced key-value store.
1
ответ дан 23 November 2019 в 05:48

Если вы используете Ubuntu, у вас должен быть контролируемый systemd в /etc/redis/redis.conf .

1
ответ дан 22 December 2019 в 16:23

Откройте терминал и выполните команду ifconfig тогда вы получите свой IP-адрес, например 192.168.0.109 затем отредактируйте свою конфигурацию, запустив команду sudo nano /etc/redis/redis.conf здесь nano является редактором. Вы можете использовать любой другой редактор, какой захотите. затем выполните поиск bind и введите свой IP-адрес, например

bind 127.0.0.1 192.168.0.109 здесь мой IP 192.168.0.109 затем перезапустите сервер с помощью этой команды sudo systemctl restart redis.service проверьте статус вашего сервера sudo systemctl status redis тогда вы найдете его активным

0
ответ дан 30 April 2020 в 09:39

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

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