搭建Redis三主三從叢集
Redis三主三從叢集規劃
10.0.128.19 使用埠 7000 7001
10.0.128.22 使用埠 7002 7003
10.0.128.23 使用埠 7004 7005
安裝redis及依賴包 (3臺)
下載安裝包 https://redis.io/
tar xf 下載的原始碼包 解壓到/data/redis-5.0.5
1 yum -y install tcl gcc 2 cd /data/redis-5.0.5 3 make MALLOC=libc 4 cd src 5 make test 6 make install
關閉防火牆
systemctl status firewalld systemctl disable firewalld
修改配置檔案
節點1
mkdir -p /data/redis-5.0.5/cluster/7000
mkdir -p /data/redis-5.0.5/cluster/7001
節點2
mkdir -p /data/redis-5.0.5/cluster/7002
mkdir -p /data/redis-5.0.5/cluster/7003
節點3
mkdir -p /data/redis-5.0.5/cluster/7004
mkdir -p /data/redis-5.0.5/cluster/7005
配置檔案分別拷貝到3個節點的6個資料夾裡
cp /data/redis-5.0.5/redis.conf /data/redis-5.0.5/cluster/700X
修改配置檔案, 並將修改後的配置檔案複製到6個資料夾,並改相應埠和IP
1 cp /data/redis-5.0.5/redis.conf /data/redis-5.0.5/cluster/7000/ 2 vi /data/redis-5.0.5/cluster/7000/redis.conf
port 6379 >更改> port 7000
bind 127.0.0.1 >更改> bind 10.0.128.19
daemonize no >更改> daemonize yes
pidfile /var/run/redis_6379.pid >更改> pidfile /var/run/redis_7000.pid
cluster-enabled yes >更改> cluster-enabled yes
cluster-config-file nodes-6379.conf >更改> cluster-config-file nodes-7000.conf
cluster-node-timeout 15000 >更改> cluster-node-timeout 15000
appendonly no >更改> appendonly yes
啟動服務
分別在三個節點啟動服務,每個節點啟動2個,共6個,注意替換700X
redis-server /data/redis-5.0.5/cluster/700X/redis.conf
建立叢集
redis-cli --cluster create 前三個是主節點 後三個是從節點 --cluster-replicas 1
replicas 1 表示我們希望為叢集中的每個主節點建立一個從節點
redis-cli --cluster create 10.0.128.19:7000(節點1的主) 10.0.128.22:7002(節點2的主) 10.0.128.23:7004(節點3的主) 10.0.128.19:7001(節點1的從) 10.0.128.22:7003(節點2 的從) 10.0.128.23:7005(節點3的從) --cluster-replicas 1
檢視屬性
直接執行
redis-cli -h 10.0.128.19 -p 7001 cluster nodes檢視節點情況
進命令列執行
[root@VM_0_22_centos 7003]# redis-cli -h 10.0.128.19 -p 7000 -c 10.0.128.19:7000> cluster info 10.0.128.19:7000> cluster nodes (檢視主備分配是否正確)
高可用測試
重啟某一節點後,檢視叢集狀態是否正常。
可以關閉某一個主節點,比如:10.0.128.19的7000 節點,然後進行檢視主從分配狀態,檢視7000的主節點狀態是否master,fail的狀態,再次啟動7000節點檢視7000節點狀態
建立集群后,想要重新指定節點為master或者slave
把叢集節點全部停止服務,然後刪除每臺節點aof、rdb、nodes.conf檔案刪除(友情建議:備份後再刪除),然後再重新執行建立叢集的命令,按照自己需求重新指定主從節點。