日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

Redis三主三从集群搭建

發布時間:2023/12/8 数据库 59 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Redis三主三从集群搭建 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、引子

主從復制以及哨兵,他們可以提高讀的并發,但是單個master容量有限,數據達到一定程度會有瓶頸,這個時候可以通過水平擴展為多master-slave集群(看原理圖)。

所以一起來學習redis-cluster:他可以支撐多個master-slave,支持海量數據,實現高可用與高并發。哨兵模式其實也是一種集群,他能夠提高讀請求的并發,但是容錯方面可能會有一些問題,比如master同步數據給slave的時候,這其實是異步復制吧,這個時候 master宕機了,那么slave上的數據就沒有master新,數據同步需要時間的,1-2秒的數據會丟失。master恢復并轉換成slave后,新數據則丟失。

Redis-Cluster集群特點

  • 1.每個節點知道彼此之間的關系,也會知道自己的角色,當然他們也會知道自己存在與一個集群環境中,他們彼此之間可以交互和通信,比如說ping - pong。那么這些關系都會保存到某個配置文件中,每個節點都有,這個我們在搭建的時候會做配置的。
  • 2.客戶端要和集群建立連接的話,只需要和其中一個建立關系就行。
  • 3.某個節點掛了,也是通過超過半數的節點來進行的檢測,客觀下線后主從切換,和我們之前在哨兵模式中提到的是一個道理。
  • 4. Redis中存在很多的插槽,又可以稱之為槽節點,用于存儲數據。

集群容錯

構建Redis集群,需要至少3個節點作為master,以此組成一個高可用的集群,此外每個master都需要配備一個slave,所以整個集群需要6個節點,這也是最經典redis集群模式,也可以稱之為三主三從,容錯性更佳。所以在搭建的時候需要有6臺虛擬機。請各自準備6臺虛擬機,并安裝好redis(可以通過克隆去構建,使用單實例的Redis去克隆即可)? ? ? ??

  • 集群也可以在單服務器構建,稱之為偽集群,但是生產環境肯定是真的,所以建議用6臺。
  • 克隆后務必關閉Redis

二、原理圖

(redis安裝redis在CentOs服務器上的安裝和設置開機自啟動_p&f°的博客-CSDN博客)

三、具體實現


修改redis.conf主配置文件(先說192.168.1.201配置,其他5臺一樣)

1、進入redis.conf主配值文件夾,修改rendis.conf配置

cd /usr/local/redisvim redis.conf

找到如下位置

2、修改如下提到的配置

#開啟集群模式 cluster-enabled yes#每一個節點需要有一個配置文件,需要6份。 #每個節點處于集群的角色都需要告知其他所有節點,彼此知道 #這個文件用于存儲集群信息,不需要人為干預 cluster-config-file nodes-6379.conf#超時時間,超時則認為master宕機,隨后主備切換 cluster-node-timeout 5000#開啟AOF appendonly yes

3、清除redis持久化生成的rdb等文件。這一步不是必須的,第一次安裝一般沒有這些文件,如果有刪除即可。(如果后期啟動過程出錯,極大概況忘記刪除了,把rdb等文件刪除清空就行)

(如果找不到位置,請查看Redis的持久化機制(RDB和AOF)(1)_p&f°的博客-CSDN博客

中的RDB的配置第一條 1. 保存位置。對照自己的持久化策略即可)

?4、重啟redis,查看是否重啟成功

?5、重復以上4步操作,修改剩余5臺CentOs


Ⅱ 創建集群

1、創建命令(隨便在那個CentOs中執行創建)

######注意1:如果你使用的是redis3.x版本,需要使用redis-trib.rb來構建集群 ######注意2:最新版使用C語言來構建了,這個要注意。以下為新版的redis構建方式######創建集群,主節點和從節點比例為1,1-3為主,4-6為從,1和4,2和5,3和6分別對應為主從關系,這也是最經典用的最多的集群redis-cli --cluster create ip1:port1 ip2:port2 ip3:port3 ip4:port4 ip5:port5 ip6:port6 --cluster-replicas 1

?輸入完創建命令后,會顯示集群配置信息,如下。輸入yes同意即可創建成功

?2、檢查集群信息。創建成功后可以使用如下命令

redis-cli --cluster check 192.168.1.201:6379

?擴展1:

slots:槽,用于裝數據主節點有從節點沒有

1、總共有16384個槽,會平均分配給master節點

2、槽slot怎么存儲

?存儲舉例說明

主節點把數據存入slot槽中,從節點不會存儲數據,當master掛掉時,會把對應的數據存入到對應的slave中。

比如:2棟起火了(master掛了),101用戶就會到5棟(slave替代master,成為master)101。

?擴展2:集群基本命令

擴展三:springboot集成redis集群?

在springboot集群中配置即可

spring:redis:#Redis 集群模式password: imooccluster:nodes: 192.168.1.201:6379,192.168.1.202:6379,192.168.1.203:6379,192.168.1.204:6379,192.168.1.205:6379,192.168.1.206:6379

?

總結

以上是生活随笔為你收集整理的Redis三主三从集群搭建的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。