Sentinel

개요 Redis 와 Sentinel 로 구성된 레디스가 있습니다. Jedis 를 사용하는 어플리케이션에서 Sentinel 에서 마스터 IP 를 조회하여 Redis 에 접속하고 있습니다. sentinel failover 를 수행한 후 어플리케이션에서 새로운 마스터를 인지하지 못하는 상황이 발생했습니다. 모든 Sentinel 에서는 새로운 마스터 IP 로 변경되어 있는 상태였습니다. 원인에 대한 범위 좁히기 왜 어플리케이션에서 새로운 마스터를 찾지 못했을까 Jedis 라이브러리를 사용하는 어플리케이션에서 Pub/Sub 기능을 이용하여 Sentinel 의 메시지를 받고 이 Sentinel 메시지 중 +switch-master 의 메시지를 받으면 Failover 가 수행되도록 쓰레드로 구현이 되어 있습니다. 그..
상황 아래와 같은 구조에서 레디스 Failover 테스트 중에 failover-abort-no-good-slave 오류가 발생했습니다. 원인 레디스 접속을 위해서는 암호를 입력하도록 설정된 상태입니다. 그러나 센티넬에서는 레디스 인증관련 암호설정이 없었습니다. 레디스 conf 파일 requirepass "P@ssword" masterauth "P@ssword" 센티넬 conf 파일 # sentinel auth-pass TEST P@ssword 시나리오 - 해결방법 센티넬 conf 파일에 auth-pass 설정이 안됨 센티넬에서 레디스 TEST 인스턴스의 암호가 없기 때문에 접속하여 replication 정보를 얻어올 수 없었고, failover-abort-no-good-slave 로그가 기록되었습니다. ..
상황 2.8.4 버전에서 2.8.24 버전으로 업그레이드 후 발생하였습니다. 구조는 다음과 같습니다. 테스트 환경에서 재연에 필요한 인스턴스만 구성하였습니다. 업그레이드 작업 방법 단계 작업내용 1 Sentinel 인스턴스 다운 2 Redis Slave 인스턴스 다운 3 Redis Master 인스턴스 다운 4 redis / sentinel 바이너리 2.8.24 버전으로 교체 5 Redis Master 인스턴스 구동 6 Redis Slave 인스턴스 구동 7 Sentinel 인스턴스 구동 8 Sentinel 페일오버 테스트 진행 (오류 발생) 원인 Redis conf 파일에는 rename-command 의 옵션이 있었습니다. 이 옵션이 있는 경우, failover 시 아래와 같은 오류가 발생하는 것으로 ..
꽁담
'Sentinel' 태그의 글 목록