Redis三主三從集羣規劃node
10.0.128.19 使用端口 7000 7001redis
10.0.128.22 使用端口 7002 7003centos
10.0.128.23 使用端口 7004 7005bash
安裝redis及依賴包 (3臺)app
下載安裝包 https://redis.io/ide
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
關閉防火牆spa
systemctl status firewalld systemctl disable firewalld
修改配置文件命令行
節點1code
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文件刪除(友情建議:備份後再刪除),而後再從新執行建立集羣的命令,按照本身需求從新指定主從節點。