Redis搭建主從複用-(讀寫分離)(主備切換)
讀寫分離(主:讀寫 從:讀)
Redis 支持主從複用。數據可以從主服務器向任意數量的從服務器上同步,同步使用的是發佈/訂閱機制。Mater Slave 的模式,從 Slave 向 Master 發起 SYNC 命令。可以是 1 Master 多 Slave,可以分層,Slave 下可以再接 Slave,可擴展成樹狀結構。因爲沒有兩臺電腦,所以單機來模擬 redis 主從服務器 ,實現讀寫分離配置。
-
創建三個目錄(數據文件,日誌文件,配置文件)
mkdir -p /opt/redis/data mkdir -p /opt/redis/log mkdir -p /opt/redis/conf
-
複製redis.conf至/opt/redis/conf目錄下
[root@localhost redis-4.0.10]# cp redis.conf /opt/redis/conf/redis-common.conf
-
修改redis-common.conf
-
添加三個服務的私有配置文件
touch redis.6379.conf touch redis.6380.conf touch redis.6381.conf
redis.6380.conf
#引用公共配置 include /opt/redis/conf/redis-common.conf #進程編號記錄文件 pidfile "/var/run/redis-6380.pid" #進程端口號 port 6380 #日誌記錄文件 logfile "/opt/redis/log/redis-6380.log" #數據記錄文件 dbfilename "dump-6380.rdb" #追加文件名稱 appendfilename "appendonly-6380.aof" #下面的配置無需在 6379 裏配置 #備份服務器從屬於 6379 推薦配置配局域網 IP slaveof 192.168.40.100 6379
-
運行3個redis進程
/usr/local/redis/bin/redis-server /opt/redis/conf/redis-6379.conf
查看redis服務器主從狀態
/usr/local/redis/bin/redis-cli -p 6379 -a root
注:
#查看運行的進程 ps -ef | grep redis
主備切換
-
reids節點準備
單臺服務器不同端口模擬多臺服務器配置
127.0.0.1 6379(master-主節點)
127.0.0.1 6380(slave-從節點)
127.0.0.1 6381(slave-從節點) -
修改 sentinel-common.conf 哨兵公共配置文件
從 redis 解壓目錄下複製 sentinel.conf 至/opt/redis/conf/
cp sentinel.conf /opt/redis/conf/
-
添加三個哨兵的私有配置文件
sentinel.conf
#引用公共配置 include /opt/redis/conf/sentinel-common.conf #進程端口號 port 26379 #進程編號記錄文件 pidfile "/var/run/sentinel-26379.pid" #日誌記錄文件(爲了方便查看日誌,先註釋掉,搭好環境後再打開) logfile "/opt/redis/log/sentinel-26379.log"