叢集架構是一種將多台電腦透過網路連接起來,並採用統一的管理方式,使其對外表現為單一電腦提供服務的方式
叢集的作用:
分散單一伺服器的存取壓力,實現負載平衡
分散單一伺服器的存儲壓力,實現可擴展性
降低單一伺服器宕機帶來業務災難
槽)
在虛擬機器中啟動多個視窗進行叢集搭建示範
主要命令在#修改主命令操作用戶端
執行
redis.conf設定檔
新增以下內容快速複製5分設定檔並取代裡面的連接埠
1
2
3
4
cluster-enabled yes # 启动为节点
cluster-config-file nodes-6379.conf # cluster配置文件名,该文件属于自动生成,仅用于快速查找文件并查询文件内容
cluster-node-timeout 10000 # 节点服务响应超时时间,用于判定该节点是否下线或切换为从节点
cluster-migration-barrier <count> # master连接的slave最小数量
登入後複製
1 2 3 4 5 6 |
|
全部執行後可以透過#啟動redis服務叢集cat
指令查看內容確保被修改
1 2 3 4 5 6 7 |
|
1 |
|
#在src目錄下查看執行的結果如下redis-trib.rb
在高版本中已經將啟動操作移到redis-cli
啟動需要兩個下載兩個檔案分別是中
ruby
和
gem
1
2
# 下载命令也会将gem一起
yum -y
install
rubygems
登入後複製
1
2
3
4
#
--cluster create 创建集群
#
--cluster-replicas 1 指定集群的内部结构(1代表一个master连接1个slave,2代表一个master连接两个save)
# 后面的连接端口按数量实现master连接哪一个slave,1对1,1对2
redis-cli
--cluster create 127.0.0.1:6379 127.0.0.1:6380 127.0.0.1:6381 127.0.0.1:6382 127.0.0.1:6383 127.0.0.1:6384 --cluster-replicas 1
登入後複製
##查看設定資訊的結果如下
執行
yes指令後的資訊如下
啟動客戶端儲存資料因為使用了叢集部署,所以透過
-c參數可以操作集群,如果不指定的是操作redis指令會提示
-c(error) MOVED 5798 127.0.0.1:6380
注意:
#操作叢集
指定連接埠連接客戶端
1
2
3
4
5
redis-cli -c
# 创建
key
,通过返回信息可以知道
key
存储到6380下了
127.0.0.1:6379>
set
name
123
-> Redirected
to
slot [5798] located
at
127.0.0.1:6380
OK
登入後複製
1 2 3 4 5 6 7 |
|
#查看叢集節點資訊
1 |
|
進入一個從節點redis,切換其主節點
1 |
|
發現一個新節點,新增主節點
1 |
|
忽略一個沒有solt的節點
1 |
|
手動故障轉移
1 |
|
新增節點
1 |
|
刪除節點
1 |
|
重新分片
rrreee3、主從下線和主從切換
Ctrl C#再次啟動從機,主機就會重新連接上從機下載服務
##觀察連接的主機情況,主機會在10秒內連接不上從機就會標記從機失敗,其他群集服務會連接上失敗的,其他服務會接收到訊息
如果主機下線了,從機會某槽換位,當主機重新上線的時候,原來的主機就會變成從機
#
以上是Redis7.0部署叢集怎麼實現的詳細內容。更多資訊請關注PHP中文網其他相關文章!