1. 程式人生 > >redis cluster叢集 三主三從

redis cluster叢集 三主三從

redis 叢集一般由 多個節點 組成,節點數量至少為 6 個,才能保證組成 完整高可用 的叢集。每個節點需要 開啟配置 cluster-enabled yes,讓 redis 執行在 叢集模式 下。

redis5之後使用redis-cli建立叢集

redis-cli --cluster create <redisIp><redisPort> --cluster-replicas 1

--cluster-replicas 1 表示為叢集中的每一個主節點指定一個從節點

實戰

redis要求至少三主三從共6個節點才能組成redis叢集。

1. 建立redis各例項目錄

$ sudo mkdir -p /usr/local/redis-cluster
$ cd /usr/local/redis-cluster
$ sudo mkdir conf data log pig
$ sudo mkdir -p data/redis-6379 data/redis-6380 data/redis-6381 data/redis-6382 data/redis-6383 data/redis-6384

2. 修改配置檔案(redis.conf)

複製6份 redis.confredis-cluster/conf分別命名為
redis-6379.confredis-6380.conf

redis-6381.confredis-6382.confredis-6383.confredis-6384.conf

模板:

# redis後臺執行
daemonize yes
# 繫結的主機埠
bind 127.0.0.1
# 資料存放目錄
dir /usr/local/redis-cluster/data/redis-${自定義}
# 程序檔案
pidfile /var/run/redis-cluster/${自定義}.pid
# 日誌檔案
logfile /usr/local/redis-cluster/log/${自定義}.log
# 埠號
port 6379
# 開啟叢集模式,把註釋#去掉
cluster-enabled yes
# 叢集的配置,配置檔案首次啟動自動生成
cluster-config-file /usr/local/redis-cluster/conf/${自定義}.conf
# 請求超時,設定10秒
cluster-node-timeout 10000
# aof日誌開啟,有需要就開啟,它會每次寫操作都記錄一條日誌
appendonly yes

啟動

建立start.sh檔案到redis-cluster

執行chmod + x ./start.sh 使start.sh指令碼具有執行許可權
新增以下內容到start.sh

#!/bin/bash
path=conf/
cd $path
#啟動redis
redis-server redis-6379.conf
redis-server redis-6380.conf
redis-server redis-6381.conf
redis-server redis-6382.conf
redis-server redis-6383.conf
redis-server redis-6384.conf
# 建立cluster叢集
redis-cli --cluster create 127.0.0.1:6379 127.0.0.1:6380 127.0.0.1:6381 127.0.0.1:6382 127.0.0.1:6383 127.0.0.1:6384 --cluster-replicas 1



作者:piggybear
連結:https://www.jianshu.com/p/9c65057d5143
來源:簡書
簡書著作權歸作者所有,任何形式的轉載都請聯絡作者獲得授