1. 程式人生 > >redis --redis主從,高可用,叢集

redis --redis主從,高可用,叢集

安裝redis,見上一篇這裡寫連結內容

redis主從複製

修改redis主配置檔案

master(server5):
#bind 172.25.40.5
protected-mode no
slave(server6):
#bind 172.25.40.5
protected-mode no
slaveof 172.25.40.5 6379

重啟進入redis互動頁面

這裡寫圖片描述

這裡寫圖片描述

實現redis主從

redis高可用(哨兵sentinel)

環境:
master:172.25.40.5
slave1:172.25.40.6
slave2:172.25.40.7

修改sentinel配置檔案或重新寫

cp redis-4.0.8/sentinel.conf  /etc/redis/
vim /etc/redis/

這裡寫圖片描述

將同樣的配置檔案傳送給從機
此時啟動哨兵

redis-sentinel /etc/redis/sentinel.conf

這裡寫圖片描述
這裡寫圖片描述

master下機
這裡寫圖片描述

此時檢視哨兵

這裡寫圖片描述

顯示master切換到slave2上
這裡寫圖片描述

即實現高可用

這裡寫圖片描述

這裡寫圖片描述

redis叢集

環境介紹:
一臺虛擬機器模擬6個節點(ip:172.25.40.5)
redis採用redis-4.0.8.tar.gz 版本

1.建立 Redis 節點
在/usr/local/ 下建立cluster目錄

cd /usr/local
/ mkdir cluster

在 cluster 目錄下,建立名為7000,7001,7002,7003,7004,7005的目錄,並將 redis.conf 拷貝到這六個目錄中

cd cluster
mkdir 7000 7001 7002 7003 7004 7005
cp redis.conf cluster/7000
cp redis.conf cluster/7001
cp redis.conf cluster/7002
...

修改redis.conf

port 7000  #每一個配置檔案對應其埠7000,7001...
cluster-enabled yes  #開啟叢集
cluster-config-file nodes.conf  #叢集的配置
cluster-node-timeout 5000 #請求超時 appendonly yes #日誌開啟 daemonize yes #redis後臺執行

2.啟動各個節點

redis-server /usr/local/cluster/7000/redis.conf
...

檢視節點資訊
這裡寫圖片描述
這裡寫圖片描述

3.建立叢集

Redis 官方提供了 redis-trib.rb 這個工具,就在解壓目錄的 src 目錄中,將其檔案複製到/usr/local/bin/下即可使用

cp redis-4.0.8/src/redis-trib.rb /usr/local/bin/

注意:這個工具需要用ruby實現

yum install -y rubygems-1.3.7-5.el6.noarch.rpm
rpm -Uvh ruby-2.2.3-1.el6.x86_64.rpm libyaml-0.1.3-4.el6_6.x86_64.rpm
gem install --local redis-4.0.1.gem

這裡寫圖片描述

然後:

redis-trib.rb create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005

這裡寫圖片描述

輸入 yes 即可,然後出現如下內容,說明安裝成功。

這裡寫圖片描述

注意:這裡預設將master和slave對應,如下圖

這裡寫圖片描述

4.叢集驗證

這裡寫圖片描述

這裡寫圖片描述

檢視節點資訊

redis-trib.rb info 127.0.0.1:7000

這裡寫圖片描述

注:當掛掉一對主從後集群不可以使用