본문 바로가기
Dev/Linux

[Linux] Redis 설치 및 세팅

by 흰바다제비 2022. 8. 3.
728x90

개요

  • Redis

1. 동일한 서버에서 redis master / slave 구동

: master – 6379 / slave - 6380

 포트를 다르게 주어 같은 서버 내에서 돌린다.

 

2. 동일한 서버에서 redis master server / slave server / sentinel 구동

: master - 6379, slave - 6380

 sentinel 1 - 16379, sentinel 2 - 16380, sentinel 3 – 16381

 

3. 다른 서버에서 redis master server / slave server / sentinel 구동

: master – 192.168.4.41:6379, slave - 192.168.4.39:6379

 sentinel 1 – 192.168.4.37:16379, sentinel 2 - 192.168.4.37:16379, sentinel 3 – 192.168.4.37:16379

 


1. 동일한 서버에서 redis master / slave 구동

: master – 6379 / slave - 6380

포트를 다르게 주어 같은 서버 내에서 돌린다.

이를 위한 config 파일 설정은 다음과 같다.

# vi /usr/local/redis/redis-master.conf
bind 127.0.0.1
port 6379
requirepass masterpw
daemonize yes

 

# vi /usr/local/redis/redis-slave.conf
bind 127.0.0.1
port 6380
replicaof 127.0.0.1 6379
requirepass masterpw
daemonize yes

 

순차적으로 redis server를 실행시킨다. master에서 set 변수 값 커맨드를 입력한 뒤 slave에서 get 변수 커맨드로 확인하여 정상적으로 데이터 복제가 이루어지는지 확인할 수 있다.

127.0.0.1:6379> set test test
OK
127.0.0.1:6379> get test 
“test”
127.0.0.1:6380> get test
“test”

2. 동일한 서버에서 redis master server / slave server / sentinel 구동

: master - 6379, slave - 6380

sentinel 1 - 16379, sentinel 2 - 16380, sentinel 3 – 16381

 

slave servermaster server로 선출될 수 있기 때문에 모든 slave requirepass 설정을 가져야 하고,

master slave 가 될 수 있기 때문에 masterauth 설정을 해주어야 한다.

해당하는 내용을 masterslaveconf 파일에 추가해준다.

 

# vi /usr/local/redis/redis-master.conf
…
masterauth masterpw
requirepass masterpw

 

# vi /usr/local/redis/redis-slave.conf
…
masterauth masterpw
requirepass masterpw

 

이어서 sentinel.conf 파일 설정을 해준다. sentinel 별 파일을 각각 작성한다.

# vi /usr/local/redis/sentinel-6379.conf
port 16379
sentinel monitor mymaster 127.0.0.1 6379 2
sentinel auth-pass mymaster masterpw
sentinel down-after-milliseconds mymaster 30000
sentinel failover-timeout mymaster 180000
sentinel parallel-syncs mymaster 1

 

# vi /usr/local/redis/sentinel-6380.conf
port 16380
sentinel monitor mymaster 127.0.0.1 6379 2
sentinel auth-pass mymaster masterpw
sentinel down-after-milliseconds mymaster 30000
sentinel failover-timeout mymaster 180000
sentinel parallel-syncs mymaster 1

 

# vi /usr/local/redis/sentinel-6381.conf
port 16381
sentinel monitor mymaster 127.0.0.1 6379 2
sentinel auth-pass mymaster masterpw
sentinel down-after-milliseconds mymaster 30000
sentinel failover-timeout mymaster 180000
sentinel parallel-syncs mymaster 1

 

master server down 됐을 때 slave master 로 정상 변경되는지 확인한다.

# redis server 2개 시작
redis-server redis-master.conf
redis-server redis-slave.conf

# redis sentinel 3개 시작
redis-sentinel sentinel-6379.conf
redis-sentinel sentinel-6380.conf
redis-sentinel sentinel-6381.conf

 

  • 동일한 서버에서 Redis sentinel failover test

swtich-master mymaster 127.0.0.1 6379 127.0.0.1 6380

이 부분을 보고 정상 작동한 것을 알 수 있다.

 


3. 다른 서버에서 redis master server / slave server / sentinel 구동

: master – 192.168.4.41:6379, slave - 192.168.4.39:6379

sentinel 1 – 192.168.4.37:16379, sentinel 2 - 192.168.4.37:16379,

sentinel 3 – 192.168.4.37:16379

 

# vi /usr/local/redis/redis-master.conf - 192.168.4.41
bind 192.168.4.41
port 6379
masterauth masterpw
requirepass masterpw
daemonize yes

 

# vi /usr/local/redis/redis-slave.conf - 192.168.4.39
bind 192.168.4.39
port 6379
replicaof 192.168.4.41 6379
masterauth masterpw
requirepass masterpw
daemonize yes

 

# vi /usr/local/redis/sentinel-6379.conf
port 16379
sentinel monitor mymaster 192.168.4.39 6379 2
sentinel auth-pass mymaster masterpw
sentinel down-after-milliseconds mymaster 30000
sentinel failover-timeout mymaster 180000
sentinel parallel-syncs mymaster 1

 

# vi /usr/local/redis/sentinel-6380.conf
port 16380
sentinel monitor mymaster 192.168.4.39 6379 2
sentinel auth-pass mymaster masterpw
sentinel down-after-milliseconds mymaster 30000
sentinel failover-timeout mymaster 180000
sentinel parallel-syncs mymaster 1

 

# vi /usr/local/redis/sentinel-6381.conf
port 16381
sentinel monitor mymaster 192.168.4.39 6379 2
sentinel auth-pass mymaster masterpw
sentinel down-after-milliseconds mymaster 30000
sentinel failover-timeout mymaster 180000
sentinel parallel-syncs mymaster 1

 

  • 다른 서버에서 Redis sentinel failover test

→ swtich-master mymaster 192.168.4.41 6379 192.168.4.39 6379

이 부분을 보고 정상 작동한 것을 알 수 있다.

728x90

'Dev > Linux' 카테고리의 다른 글

[Linux] Disk Mount  (0) 2022.08.05
[Linux] Network Bonding  (0) 2022.08.04
[Linux] ip 설정  (0) 2022.07.31
[Linux] DNS 설정  (0) 2022.07.30
[Linux] Oracle JDK 설치  (0) 2022.07.29

댓글