天天看點

Redis 主從+哨兵叢集搭建

Redis 主從+哨兵叢集搭建

前置條件

這裡我建立了三台虛拟機來示範,分别按照上述安裝方式安裝好 Redis,三台虛拟機如下配置:
           

IP位址 端口号 角色 :

192.168.231.130 6379 主機(master)

192.168.231.132 6380 從機(slave)

192.168.231.131 6381 從機(slave)

配置redis.conf檔案

使用vi redis.conf指令打開編輯 redis.conf 配置檔案,如下

主從配置

主機配置:
           
bind:0.0.0.0
port:6379
protected-mode:no
daemonize:yes
logfile:./redis.log
requirepass:[email protected]
masterauth:[email protected]
           

• bind:0.0.0.0

Redis 預設隻允許本機通路,把 bind 修改為 0.0.0.0 表示允許所有遠端通路。如果想指定限制通路,可設定對應的 ip。

• port:6379

監聽端口預設為6379,想改其他也行。

• protected-mode:no

關閉保護模式,可以外部通路。

• daemonize:yes

設定為背景啟動。

• logfile:./redis.log

redis 日志檔案,生成後在 bin 目錄下可找到。

• requirepass:[email protected]

設定 redis 連接配接密碼。

• masterauth:[email protected]

slave 服務連接配接 master 的密碼。

從機配置:
           
bind:0.0.0.0
port:6379
protected-mode:no
daemonize:yes
logfile:./redis.log
requirepass:[email protected]
masterauth:[email protected]
replicaof 192.168.231.130 6379 
           

需要使用replicaof指定主機(master)的IP位址和端口,需要注意的是老版本使用的是 slaveof;

• replicaof 192.168.231.130 6379

指定當本機為 slave 服務時,設定 master 服務的IP位址及端口,在 redis 啟動的時候會自動跟 master 進行資料同步,是以兩台從機都這樣配置即可。

修改防火牆設定

下面我們需要設定一下防火牆,否則主從機之間無法同步資料,指令如下,這裡根據自己設定的端口進行更改。

firewall-cmd --add-port=6379/tcp --permanent --zone=public
#重新開機防火牆(修改配置後要重新開機防火牆)
firewall-cmd –reload
           

Redis 哨兵模式搭建

這裡我們部署三個哨兵,每台伺服器一個哨兵,配置方式相同,如下

配置sentinel.conf檔案

//端口預設為26379。
port:26379
//關閉保護模式,可以外部通路。
protected-mode:no
//設定為背景啟動。
daemonize:yes
//日志檔案。
logfile:./sentinel.log
//指定主機IP位址和端口,并且指定當有2台哨兵認為主機挂了,則對主機進行容災切換。
sentinel monitor mymaster 192.168.231.130 6379 2
//當在Redis執行個體中開啟了requirepass,這裡就需要提供密碼。
sentinel auth-pass mymaster [email protected]
//這裡設定了主機多少秒無響應,則認為挂了。
sentinel down-after-milliseconds mymaster 3000
//主備切換時,最多有多少個slave同時對新的master進行同步,這裡設定為預設的1。
snetinel parallel-syncs mymaster 1
//故障轉移的逾時時間,這裡設定為三分鐘。
sentinel failover-timeout mymaster 180000
           

防火牆設定

firewall-cmd --add-port=26379/tcp --permanent --zone=public
#重新開機防火牆(修改配置後要重新開機防火牆)
firewall-cmd --reload
           

啟動三個哨兵

完成

繼續閱讀