Header Banner
Kakao Logo

TECH.KAKAO.GG

기술 자료/Redis/Redis Cluster 설정 방법에 대해서 알아보자

Redis Cluster 설정 방법에 대해서 알아보자

Redis3개월 전

Redis는 빠르고 효율적인 인메모리 데이터 저장소로 많이 사용되며, Redis Cluster를 설정하면 데이터의 분산 저장과 고가용성(High Availability)을 구현할 수 있습니다. Redis Cluster의 기본 개념과 설정 방법을 쉽게 이해할 수 있도록 설명드리겠습니다.

 

Redis Cluster란?

Redis Cluster는 여러 개의 Redis 노드를 묶어 데이터를 분산 저장하고 자동으로 장애를 감지 및 복구하는 기능을 제공하는 구조입니다.

Redis Cluster의 핵심 개념

샤딩(Sharding) – 데이터를 여러 개의 노드에 나누어 저장
고가용성(HA, High Availability) – 마스터-슬레이브 구조를 통해 장애 발생 시 자동 복구
노드(Node) – 클러스터를 구성하는 개별 Redis 인스턴스
슬롯(Slot) – Redis Cluster는 0~16383까지의 해시 슬롯(Hash Slot)을 사용하여 데이터를 자동 분배

 

Redis Cluster 환경 구성

Redis Cluster를 설정하려면 최소 6개의 Redis 노드(3개의 마스터 + 3개의 슬레이브)가 필요합니다.
아래와 같은 단계로 Redis Cluster를 구성할 수 있습니다.

1. Redis 설치

먼저 Redis를 설치해야 합니다. Ubuntu 기준으로 설치하는 방법을 예제로 설명하겠습니다.

sudo apt update
sudo apt install redis-server

또는, 직접 컴파일하여 설치할 수도 있습니다.

wget http://download.redis.io/redis-stable.tar.gz
tar xzvf redis-stable.tar.gz
cd redis-stable
make
sudo make install

2. Redis 설정 파일(redis.conf) 수정

각 노드의 redis.conf 파일에서 클러스터 모드를 활성화해야 합니다.
아래 설정을 적용합니다.

# 클러스터 활성화
cluster-enabled yes
# 클러스터 노드 정보 저장 파일
cluster-config-file nodes.conf
# 백그라운드 실행
daemonize yes
# 포트 설정 (각 노드마다 다른 포트 사용)
port 7000

📌 포인트

  • cluster-enabled yes : Redis Cluster 기능 활성화

  • port : 각 Redis 노드의 포트를 다르게 설정 (예: 7000, 7001, 7002 등)

 

Redis Cluster 구성 및 실행

이제 6개의 Redis 인스턴스를 실행하고 클러스터를 생성하는 단계입니다.

1) Redis 노드 실행

각 노드(7000~7005 포트)를 실행합니다.

redis-server /path/to/redis7000.conf
redis-server /path/to/redis7001.conf
redis-server /path/to/redis7002.conf
redis-server /path/to/redis7003.conf
redis-server /path/to/redis7004.conf
redis-server /path/to/redis7005.conf

2) Redis Cluster 생성

이제 Redis 클러스터를 생성합니다.
아래 명령어를 사용하여 3개의 마스터와 3개의 슬레이브로 구성된 클러스터를 생성할 수 있습니다.

redis-cli --cluster create 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 \
127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 --cluster-replicas 1

🚀 위 명령은 3개의 마스터(7000, 7001, 7002)와 3개의 슬레이브(7003, 7004, 7005)를 자동으로 설정합니다.

3) 클러스터 상태 확인

클러스터가 정상적으로 구성되었는지 확인하려면 다음 명령을 실행합니다.

redis-cli -c -p 7000 cluster info

또는 각 노드의 상세 상태를 확인하려면

redis-cli -c -p 7000 cluster nodes

 

Redis Cluster 테스트

클러스터가 정상적으로 동작하는지 간단한 명령어로 테스트해볼 수 있습니다.

redis-cli -c -p 7000 set key1 "Hello Redis Cluster!"
redis-cli -c -p 7001 get key1

📌 키가 자동으로 분산 저장되므로, 다른 노드에서도 데이터를 조회할 수 있습니다.