Redis6安装配置集群cluster以及集群宕机注意事项
Redis6的cluster模型推薦3主3從
先準備3臺服務器,每個上面部署2個redis,服務器配置2核2G:
下面在每臺服務器安裝redis6,每臺機器只要安裝一次即可,然后分別配置2個端口的conf文件,分別起來即可:
#yum install -y lrzsz
#wget -P /usr/local/src/ https://download.redis.io/releases/redis-6.2.6.tar.gz
#cd /usr/local/src/
#tar zxvf redis-6.2.6.tar.gz#yum -y install gcc-c++ autoconf automake安裝scl源
#yum install -y centos-release-scl scl-utils-build
安裝 gcc9 版本的 gcc、gcc-c++、gdb 工具鏈(toolchian)
#yum install -y devtoolset-9-toolchain
臨時覆蓋系統(tǒng)原有的 gcc 引用
#scl enable devtoolset-9 bash
查看 gcc 當前版本
#gcc -v
#cd redis-6.2.6
#make
#make test
cd src && make test
make[1]: Entering directory `/usr/local/src/redis-6.2.6/src'
You need tcl 8.5 or newer in order to run the Redis test
#yum install tcl
#mkdir -p /usr/local/redis
#make install prefix=/usr/local/redis/
查看gcc版本?
?安裝完成
?生成配置文件和日志數(shù)據(jù)等目錄
mkdir -p /usr/local/redis/cluster/conf /usr/local/redis/cluster/data /usr/local/redis/cluster/log
修改解壓目錄下的redis.conf文件
?修改6個:
配置集群模式只要這些配置即可:
# 放行訪問IP限制
bind 0.0.0.0
# 端口
port 6371
# 后臺啟動
daemonize yes
# 日志存儲目錄及日志文件名
logfile "/usr/local/redis/cluster/log/redis-6371.log"
# rdb數(shù)據(jù)文件名
dbfilename dump-6371.rdb
# aof模式開啟和aof數(shù)據(jù)文件名
appendonly yes
appendfilename "appendonly-6371.aof"
# rdb數(shù)據(jù)文件和aof數(shù)據(jù)文件的存儲目錄
dir /usr/local/redis/cluster/data
# 設置密碼
requirepass ******
# 從節(jié)點訪問主節(jié)點密碼(必須與 requirepass 一致)
masterauth ******
# 是否開啟集群模式,默認 no
cluster-enabled yes
# 集群節(jié)點信息文件,會保存在 dir 配置對應目錄下
cluster-config-file nodes-6371.conf
# 集群節(jié)點連接超時時間
cluster-node-timeout 15000
# 集群節(jié)點 IP
cluster-announce-ip 172.XXX.XXX.52
# 集群節(jié)點映射端口
cluster-announce-port 6371
# 集群節(jié)點總線端口
cluster-announce-bus-port 16371
?啟動6個redis進程:
/usr/local/redis/bin/redis-server /usr/local/redis/cluster/conf/redis-6371.conf
/usr/local/redis/bin/redis-server /usr/local/redis/cluster/conf/redis-6372.conf
/usr/local/redis/bin/redis-server /usr/local/redis/cluster/conf/redis-6373.conf
/usr/local/redis/bin/redis-server /usr/local/redis/cluster/conf/redis-6374.conf
/usr/local/redis/bin/redis-server /usr/local/redis/cluster/conf/redis-6375.conf
/usr/local/redis/bin/redis-server /usr/local/redis/cluster/conf/redis-6376.conf
需要在每臺服務器檢查是否啟動成功:?
任意一臺服務器上使用客戶端運行以下命令:
--cluster-replicas 1:主節(jié)點數(shù)/從節(jié)點數(shù)的比例,使用1:1比例,6節(jié)點會產(chǎn)生3主3從
/usr/local/bin/redis-cli -a ****** --cluster create \
172.XXX.XXX.52:6371 172.XXX.XXX.52:6372 \
172.XXX.XXX.53:6373 172.XXX.XXX.53:6374 \
172.XXX.XXX.54:6375 172.XXX.XXX.54:6376 \
--cluster-replicas 1
中間會出現(xiàn)選擇提示信息,問你對集群拓撲是否滿意輸入?yes即可。
?如上圖所示:M表示主節(jié)點,S表示從節(jié)點,以及完成集群。
檢查集群狀態(tài)
任意一個節(jié)點即可,運行以下命令
#/usr/local/redis/bin/redis-cli -a ****** --cluster check XXX:6371
連接至集群某個節(jié)點
#/usr/local/bin/redis-cli -c -a 223456 -h 172.17.104.52 -p 6371
> cluster nodes
從命令行查看鍵值信息:?
?通過客戶端查看:
?注意:由于集群模式是分哈希槽,key只能在對應的主服務器新增,通過命令行可以查看自動move提示。
需要注意的是集群模式下,某個主宕機,他的從會切換為主,但是需要注意的是,必須最少n/2+1臺主節(jié)點在才可以提升。
為此我們可以kill -9對應的redis進程id測試即可
通過cluster nodes 看出原節(jié)點是master fail,他的從節(jié)點已經(jīng)提升為主節(jié)點。
再把原來的節(jié)點起來,這樣他成為從節(jié)點。?
如果主節(jié)點掛了,客戶端會很快感知到:
同時停2個master,這樣只剩下一個master就無法做仲裁了:?
?從節(jié)點默認是不可以對外提供讀寫服務的。這樣集群就不可用了。
總結
以上是生活随笔為你收集整理的Redis6安装配置集群cluster以及集群宕机注意事项的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: IDEA常用和实用配置以及各种必要插件
- 下一篇: 油麦菜可以煲猪脚粥吗