인터넷 검색을하면 쓸만한 redis-cluster 구성의 글이 많이 보인다.

쉽게 테스트가 진행될 것이라 생각했었다.


처음에 잘못 생각하고 있던 내용들도 보정이 되었다.

sentinel이 마스터와 슬레이브 모두 감시 하는거로 생각 했었는데 그게 아니였다. sentinel은 마스터만 감시하며 3대중 다수결 원칙에 따라 새로운 master를 선출 한다.


master-slave 구성까지는 쉽게 진행이되었다. 

sentinel 구성에서 부터 문제가 발생했다.


master를 정지 시켰는데 새로운 master 선출이 되지 않고 sdown상태에서 머물러 있기만 했다.


어디가 문제지? 내가 뭘 빼먹은걸까?


sentinel 로그에 +sdown sentinel 이 찍힌다. 3대의 sentinel들이 서로를 인식하지 못하고 있는것으로 보였다.

             +----+
             | M1   |
             | S1    |
             +----+
                  |
+----+       |      +----+
| R2   |----+----| R3  |
| S2   |               | S3  |
+----+              +----+


인터넷 문서들은 소스 컴파일해서 한대에서 포트를 다르게 진행하고 있었고

나는 서버 3대에 나눠서 yum 으로 설치 후 구성 테스트 중이였다. 

설정이 하나 빠진게 분명했다.


redis를 재설치 하고 처음부터 설정했다.

master redis.conf

bind <masterip>
requirepass foobared

slave redis.conf

bind <masterip>
slaveof <masterip> <masterport>
masterauth <master-password>
requirepass foobared

sentinel conf

bind <ip address>
sentinel monitor <master-name> <ip> <redis-port> <quorum>
sentinel auth-pass <master-name> <password>



sentinel 설정에도 bind를 설정하니 로그에 -sdown sentinel이 찍히면서 서로를 인식했다.

master를 정지 시키자 새로운 마스터가 선출되는게 로그에 찍힌다.

'지식창고 > 리눅스' 카테고리의 다른 글

rsnapshot 설정과 실행  (0) 2018.09.14
cectos 7 에 nodejs v8 설치  (0) 2018.01.24
centos dns lookup 느린 경우  (0) 2016.11.25
CentOS 7에 rabbitMQ 설치  (0) 2016.10.07
goaccess 설치 사용  (0) 2016.10.06