개요

Redis를 클러스터로 구성하는 방법을 정리한다.

Redis 다운로드 받기 및 빌드하기

$ wget http://download.redis.io/releases/redis-3.2.8.tar.gz
$ tar xzvf redis-3.2.8.tar.gz
$ cd redis-3.2.8/src
$ make

redis.conf 만들기

Redis는 클러스터 구성을 위해 최소 3개의 인스턴스가 필요하므로 아래의 conf를 활용하여 redis1.conf, redis2.conf, redis3.conf를 만든다.

bind node1 # 노드명은 인스턴스별로 달리 지정한다.
cluster-enabled yes
cluster-config-file nodes-6379.conf # 포트번호나 장비에 따라 바꾸어 준다.
cluster-node-timeout 5000
maxmemory 8192mb
maxmemory-policy allkeys-lru
save ""
appendonly no

클러스터 실행하기

$ gem install redis # redis-trib.rb 실행을 위해 설치가 필요함
$ ./redis-trib.rb create 127.0.0.1:6379 127.0.0.1:6380 127.0.0.1:6381

클러스터 실행 트러블 슈팅

클러스터 실행이 잘 되지 않는다면 아래의 명령어를 인스턴스 마다 실행하고 다시 create를 수행해본다.

$ ./redis-cli -h host -p port
> flushall
> cluster reset soft

Redis 클러스터 검증

Redis 클러스터가 정상 설치되었는지 아래의 명령어로 확인해본다.

$ ./redis-cli -h host -p port cluster nodes
f8257aba1599818e80080a66d274210c54546373 127.0.0.1:6380 master - 0 1494223555848 2 connected 5461-10922
23748469a64e397bdb5fcdddc5f3c30350534d7b 127.0.0.1:6381 myself,master - 0 0 3 connected 10923-16383
d3f9a707d6387a944ec15da88dd27f4f8ddc0769 127.0.0.1:6379 master - 0 1494223556849 1 connected 0-5460

Reference

https://ilyabylich.svbtle.com/redis-cluster-quick-overview