newtype
::: newtype의 지식창고 :::
newtype
전체 방문자
오늘
어제
  • 분류 전체보기 (392)
    • Dev (214)
      • C, C++ (43)
      • Go (5)
      • Web (49)
      • DBMS (21)
      • DevOps (8)
      • Java (2)
      • Windows, Win32 (4)
      • Visual Basic (5)
      • C# (2)
      • Mobile (25)
      • SQL CE (7)
      • Google Map (6)
      • Python (2)
      • cygwin (2)
      • 기타 (32)
      • Ruby (1)
    • 명언 (10)
    • 모임 (18)
      • 붕주회 (3)
      • 신흥컴정 (14)
      • 웹20기 (1)
    • 사진 (8)
    • 불펌 (29)
    • 막글 (98)
    • 게임 (6)
    • 여행 (8)

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • 관리

공지사항

  • whoami
05-13 00:00
hELLO · Designed By 정상우.
newtype

::: newtype의 지식창고 :::

Dev/DevOps

Redis Cluster 구성

2022. 10. 12. 17:20
  • 각각의 Redis Cluster 구성이 필요해서 간단하게 구성할 수 있도록, conf 파일의 node 정보를 읽어서 cluster를 구성하는 bash script를 만들었다.
  • 여기서는 Redis는 설치되어 있다고 가정하고, 구성 방법에 대해서만 설명한다.
  • https://github.com/lmk/redis-cluster

Cluster 구성

  • cluster 관계

    • master node 간에는 샤딩으로 구성한다.
    • master - slave로 HA 구성으로 master down시 slave가 master를 백업한다.
    • node 3개 일때
    master slave
    redis_01:6010 redis_02:6021
    redis_02:6020 redis_03:6031
    redis_03:6030 redis_01:6011
    • node 4개 일때
    master slave
    redis_01:6010 redis_02:6021
    redis_02:6020 redis_03:6031
    redis_03:6030 redis_04:6041
    redis_04:6040 redis_01:6011

Cluster 구성 방법

  1. cluster.conf를 작성한다.
    • IP_DB01 ~ IP_DB0X에 node ip를 설정한다.
    • IP_DBLIST에 cluster 구성한 node 목록을 추가한다.
  2. cluster.sh create
    • cluster.conf를 읽어 cluster를 구성한다.
  3. cluster.sh info
    • cluster 상태를 확인한다.
  4. cluster.sh check
    • cluster 구성 정보를 확인한다.

Usage

$ cluster.sh [create|check|info|takeover IP]

command

  • create: cluster 구성 정보 및 데이터를 초기화 하고 새로 구성한다.
  • check: cluster 구성 정보를 확인한다. (cluster nodes)
  • check: cluster 상태를 확인 한다. (cluster info)
  • takeover: cluster 구성을 복구한다

Cluster 구현 순서(redis-cli 사용)

  1. flushall

    • 모든 node에 접속해서 모든 데이터를 삭제한다.
  2. cluster reset

    • 모든 node에 접속해서 cluster 구성을 삭제한다.
  3. cluster addslots {0..5461}

    • 모든 master node에 접속해서 16384개의 슬롯을 node 개수로 나눠서 샤딩한다.
  4. cluster meet 192.168.10.101 6011

    • 1번 node에 접속해서 모든 master/slave 노드/포트 정보로 cluster를 구성한다.
    • node가 3개인 경우 샘플
$ redis-cli -h 192.168.10.101 -p 6010
cluster meet 192.168.10.101 6011
cluster meet 192.168.10.102 6020
cluster meet 192.168.10.102 6021
cluster meet 192.168.10.103 6030
cluster meet 192.168.10.103 6031
  1. cluster replicate df85034d1e2296df6177a132e48dd8a567bc38d1
    • 모든 slave node에 접속해서 자신의 master 키로 master-slave 관계를 구성한다.
    • master 키는 cluster node 명령으로 확인한다.
  2. cluster nodes
    • cluster 구성 정보를 확인한다.
  3. cluster info
    • cluster 상태 정보를 확인한다.
반응형
저작자표시

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

ArgoCD CLI명령어 몇 가지  (0) 2023.02.03
Redis 성능 향상 방법  (0) 2022.10.13
prompt에 kubernetes context 표시하기  (0) 2022.09.16
nats - prometheus 연동  (0) 2022.09.05
Grafana와 EFS 연동  (0) 2022.08.29
    'Dev/DevOps' 카테고리의 다른 글
    • ArgoCD CLI명령어 몇 가지
    • Redis 성능 향상 방법
    • prompt에 kubernetes context 표시하기
    • nats - prometheus 연동
    newtype
    newtype
    지극히 개인적인 지식의 창고

    티스토리툴바