您好,登錄后才能下訂單哦!
這篇“Redis7.0部署集群怎么實現”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“Redis7.0部署集群怎么實現”文章吧。
集群的架構:集群就是使用網絡將若干臺計算機聯通起來,并提供統一的管理方式,使其對外呈現單機的服務效果
集群的作用:
數據存儲設計
通過算法設計,計算出key應該保存的位置
將所有的存儲空間計劃切割成16384份,每臺主機保存一部分,每份代表的是一個存儲空間,不是一個key的保存空間
將key按照計算出的結果放到對應的存儲空間
增強可擴展性(有新的存儲空間加入,官方叫做槽
)
集群內部通訊設計
各個數據庫相互通信,保存各個庫中槽的編號數據
一次命中,直接返回
一次未命中,告知具體位置
在虛擬機中啟動多個窗口進行集群搭建演示
主要命令在
主命令操作客戶端
執行
修改redis.conf
配置文件
添加如下內容
cluster-enabled yes # 啟動為節點 cluster-config-file nodes-6379.conf # cluster配置文件名,該文件屬于自動生成,僅用于快速查找文件并查詢文件內容 cluster-node-timeout 10000 # 節點服務響應超時時間,用于判定該節點是否下線或切換為從節點 cluster-migration-barrier <count> # master連接的slave最小數量
快速復制5分配置文件并替換里面的端口
[root@localhost conf]# sed "s/6379/6380/g" redis-6379.conf > redis-6380.conf [root@localhost conf]# sed "s/6379/6381/g" redis-6379.conf > redis-6381.conf [root@localhost conf]# sed "s/6379/6382/g" redis-6379.conf > redis-6382.conf [root@localhost conf]# sed "s/6379/6383/g" redis-6379.conf > redis-6383.conf [root@localhost conf]# sed "s/6379/6384/g" redis-6379.conf > redis-6384.conf [root@localhost conf]# sed "s/6379/6385/g" redis-6379.conf > redis-6385.conf
全部執行后可以通過
cat
指令查看內容確保被修改
啟動redis服務集群
# 在第一個窗口執行6379服務 redis-server redis-6379.conf # 在第二個窗口執行6380服務 redis-server redis-6380.conf # 在第三個窗口執行6381服務 redis-server redis-6381.conf # 下面的代碼依次類推到6385
執行命令查看redis進程和端口
ps -ef | grep redis-
連接節點
在src目錄下查看
redis-trib.rb
在高版本中已經將啟動操作移動到
redis-cli
中啟動需要兩個下載兩個文件分別是
ruby
和gem
# 下載命令也會將gem一起 yum -y install rubygems
# --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命令會提示(error) MOVED 5798 127.0.0.1:6380
注意:
-c
操作集群
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
指定端口連接客戶端
# 連接指定的集群客戶端 [root@localhost data]# redis-cli -c -p 6382 # 獲取key 127.0.0.1:6382> get name -> Redirected to slot [5798] located at 127.0.0.1:6380 "123" 127.0.0.1:6380>
Cluster節點操作命令
查看集群節點信息
cluster nodes
進入一個從節點 redis,切換其主節點
cluster replicate <master-id>
發現一個新節點,新增主節點
cluster meet ip:port
忽略一個沒有solt的節點
cluster forget <id>
手動故障轉移
cluster failover
redis-trib命令
添加節點
redis-trib.rb add-node
刪除節點
redis-trib.rb del-node
重新分片
redis-trib.rb reshard
1、模擬從機下線操作
在從機服務器執行
Ctrl + C
下載服務
觀察連接的主機情況,主機會在10秒內連接不上從機就會標記從機失敗,其他集群服務會連接上失敗的,其他服務會接收到信息
再次啟動從機,主機就會重新連接上從機
如果主機下線了,從機會某槽換位,當主機重新上線的時候,原來的主機就會變成從機
以上就是關于“Redis7.0部署集群怎么實現”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。