16.04.01 AWS의 LTS-Redis가 더 이상 작동하지 않습니다


10

우리는 많은 AWS EC2 Ubuntu 인스턴스 (14.04.4 LTS)에서 문제없이 redis-server를 실행했습니다. 테스트 서버를 회전시켜 Ubuntu 16.04.1 LTS로 업그레이드하려고 시도했지만 이제 redis가 작동하지 않습니다.

redis를 수동으로 시작하려고하면 다음과 같은 결과가 나타납니다.

~$ 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.

나는 다음을 시도했다.

  • 서버를 다시 시작
  • Redis 재시작이 포함 된 배포 스크립트를 실행하십시오.
  • sudo apt-getredis-server를 제거하고 다시 설치 하는 데 사용
  • /etc/redis/redis.conf패키지에서 새 파일을 수락 하고 원래 파일을 한 번 유지 하면 설치가 두 번 완료되었습니다.

어떤 제안?


대답은 아니지만 도움이 될 수 있습니다 : redis를 docker container로 실행할 수 있습니다.
pLumo

답변:


5

나는 다음을 사용하여 redis를 설치했다. apt-get install redis-server

나에게 문제 : 내가 찾은 자습서 예. 이 질문에 대한 다른 답변은 redis 바이너리가에 있다고 가정합니다 /usr/local/bin.

내 설치에서 그것들은 /usr/bin그래서 /etc/systemd/system/redis.service그것을 반영 하도록 수정 되고 있습니다.

이 시점에서 /usr/bin/redis-server /etc/redis/redis.conf 수동으로 성공적으로 시작할 수 있습니다 sudo systemctl start redis.

따라서 redis가 16.04에서 작동하도록하려면 다음을 수행하십시오.

  1. 당신이 사용하여 설치 확인 apt-get install redis-server, 하지 후, 타르를 다운로드 할 및 설치합니다.
  2. 다음을 실행하여 redis 서비스 생성 또는 편집 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를 bash로 다시 종료하십시오. 이제 서비스를 시작할 수 있어야합니다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


1

나는 같은 문제가 있었지만 원인은 달랐다.

dhcp 클라이언트가있는 VM에서 테스트를 위해 redis를 사용했습니다.

구성 /etc/redis/redis.conf이 잘못된 (오래된) 로컬 IP를 가리키고 있으므로 DHCP에서 할당 된 새 IP에 서비스를 바인딩 할 수 없습니다.

이러한 문제에 대한 로그는 다음과 같습니다.

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.

0

어쩌면 이것을 시도해보십시오. 여기서 /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

당신이 우분투를 사용하는 경우, 당신은이 있어야 supervised systemd에서 /etc/redis/redis.conf.


0

터미널을 열고 ifconfig 명령을 실행하면 192.168.0.109와 같은 IP 주소를 얻은 다음 sudo nano /etc/redis/redis.conf 명령을 실행하여 구성을 편집하십시오. nano는 편집기입니다. 원하는 다른 편집기를 사용한 다음 바인드를 검색하고 IP 주소를 입력하십시오.

bind 127.0.0.1 192.168.0.109 here 내 ip는 192.168.0.109입니다.이 명령으로 서버를 다시 시작하십시오 sudo systemctl restart redis.service 서버 상태를 확인하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.