windows10配置redis一主二從三哨兵
1.下載Redis安裝包,並且復制三份,名字分別為,Redis-6379,Redis-6380,Redis-6381
2.修改配置文件(redis.windows.conf)
1.主配置文件修改內容(6379)
#redis訪問端口號
port 6379
#(綁定redis訪問地址,10.112.11.186是內網地址,即你cmd中ipconfig命令出來的ipv4ip地址,可以是公網ip,也可以是私網ip);
bind 127.0.0.1
2. 從配置文件修改內容(6380)
#redis訪問端口號
port 6380
#(綁定redis訪問地址,10.112.11.186是內網地址,即你cmd中ipconfig命令出來的ipv4ip地址,可以是公網ip,也可以是私網ip);
bind 127.0.0.1
3. 從配置文件修改內容(6381)
#redis訪問端口號 port 6381 #(綁定redis訪問地址,10.112.11.186是內網地址,即你cmd中ipconfig命令出來的ipv4ip地址,可以是公網ip,也可以是私網ip); bind 127.0.0.1
3.啟動服務
1.可以將服務加在bat文件中一鍵啟動
在redism目錄下新建一個 startRedisServer.bat
@echo off redis-server.exe redis.windows.conf @pause
2.在和redis文件夾同級建三個cmd 啟動文件,start6379.cmd,start6380.cmd,start6381.cmd
@echo off cd Redis-x64-2.8.2-6379 startRedisServer.bat
@echo off cd Redis-x64-2.8.2-6380 startRedisServer.bat
@echo off cd Redis-x64-2.8.2-6381 startRedisServer.bat
啟動后頁面
驗證是否79是master,80,81是slave
1.使用連接工具
2.輸入 info replication 查看是否和配置的一樣
這樣一主兩從就搭建好啦
4.三哨兵搭建
1.在redis文件夾下建一個 sentinel-26379.conf,sentinel-26380.conf ,sentinel-26381.conf
2.主配置文件內容(6379)
# 配置 sentinel 端口號 port 26379 # 以守護進程啟動 daemonize yes # 綁定只在本地使用 bind 127.0.0.1 # 日志文件名稱 logfile "sentinel_26379.log" # 日志文件存放地址 dir "./" # 監控 master 名字叫做 mymaster,地址是 127.0.0.1 端口號是 6379,1 表示有幾個 sentinel 認為該 master 出現故障,觸發主備切換動作 sentinel monitor mymaster 127.0.0.1 6379 2 # 指定多少毫秒之后 主節點沒有應答哨兵sentinel 此時 哨兵主觀上認為主節點下線 默認30秒 sentinel down-after-milliseconds mymaster 30000 # 主備切換時,多少個從服務器同步更新數據,數值越小越好 sentinel parallel-syncs mymaster 1 # 故障轉移的超時時間 failover-timeout 可以用在以下這些方面: #1. 同一個sentinel對同一個master兩次failover之間的間隔時間。 #2. 當一個slave從一個錯誤的master那里同步數據開始計算時間。直到slave被糾正為向正確的master那里同步數據時。 #3.當想要取消一個正在進行的failover所需要的時間。 #4.當進行failover時,配置所有slaves指向新的master所需的最大時間。不過,即使過了這個超時,slaves依然會被正確配置為指向master,但是就不按parallel-syncs所配置的規則來了 # 默認三分鍾 sentinel failover-timeout mymaster 180000
從配置文件(6380、6381)
# 配置 sentinel 端口號 port 26380 # 以守護進程啟動 daemonize yes # 綁定只在本地使用 bind 127.0.0.1 # 日志文件名稱 logfile "sentinel_26380.log" # 日志文件存放地址 dir "./" # 監控 master 名字叫做 mymaster,地址是 127.0.0.1 端口號是 6379,1 表示有幾個 sentinel 認為該 master 出現故障,觸發主備切換動作 sentinel monitor mymaster 127.0.0.1 6379 2 # 指定多少毫秒之后 主節點沒有應答哨兵sentinel 此時 哨兵主觀上認為主節點下線 默認30秒 sentinel down-after-milliseconds mymaster 30000 # 主備切換時,多少個從服務器同步更新數據,數值越小越好 sentinel parallel-syncs mymaster 1 # 故障轉移的超時時間 failover-timeout 可以用在以下這些方面: #1. 同一個sentinel對同一個master兩次failover之間的間隔時間。 #2. 當一個slave從一個錯誤的master那里同步數據開始計算時間。直到slave被糾正為向正確的master那里同步數據時。 #3.當想要取消一個正在進行的failover所需要的時間。 #4.當進行failover時,配置所有slaves指向新的master所需的最大時間。不過,即使過了這個超時,slaves依然會被正確配置為指向master,但是就不按parallel-syncs所配置的規則來了 # 默認三分鍾 sentinel failover-timeout mymaster 180000
# 配置 sentinel 端口號 port 26381 # 以守護進程啟動 daemonize yes # 綁定只在本地使用 bind 127.0.0.1 # 日志文件名稱 logfile "sentinel_26381.log" # 日志文件存放地址 dir "./" # 監控 master 名字叫做 mymaster,地址是 127.0.0.1 端口號是 6379,1 表示有幾個 sentinel 認為該 master 出現故障,觸發主備切換動作 sentinel monitor mymaster 127.0.0.1 6379 2 # 指定多少毫秒之后 主節點沒有應答哨兵sentinel 此時 哨兵主觀上認為主節點下線 默認30秒 sentinel down-after-milliseconds mymaster 30000 # 主備切換時,多少個從服務器同步更新數據,數值越小越好 sentinel parallel-syncs mymaster 1 # 故障轉移的超時時間 failover-timeout 可以用在以下這些方面: #1. 同一個sentinel對同一個master兩次failover之間的間隔時間。 #2. 當一個slave從一個錯誤的master那里同步數據開始計算時間。直到slave被糾正為向正確的master那里同步數據時。 #3.當想要取消一個正在進行的failover所需要的時間。 #4.當進行failover時,配置所有slaves指向新的master所需的最大時間。不過,即使過了這個超時,slaves依然會被正確配置為指向master,但是就不按parallel-syncs所配置的規則來了 # 默認三分鍾 sentinel failover-timeout mymaster 180000
5. 啟動三哨兵
1.用bat文件啟動,在redis文件夾下建立一個startRedisSentinel.bat
@echo off redis-server.exe sentinel-26379.conf --sentinel @pause
2. 在和redis 同級添加一個cmd 啟動哨兵
@echo off cd Redis-x64-2.8.2-6379 startRedisSentinel.bat
啟動后頁面
測試當79,掛啦,是否自動切換主機
81 ----》切到啦master,所以一主兩從Redis高可用配置搭建完成
參考blog:https://my.oschina.net/warm6Y/blog/3223398/print