本篇內容介紹了“Redis集群架構簡介”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
(1)edis是一個開源的key value存儲系統,受到了廣大互聯網公司的青睞。redis3.0版本之前只支持單例模式,在3.0版本及以后才支持集群,這里我搭建用的是最新的版本 redis-5.0.7;
(2)redis集群采用P2P模式,是完全去中心化的,不存在中心節點或者代理節點;
(3)redis集群是沒有統一的入口的,客戶端(client)連接集群的時候連接集群中的任意節點(node)即可,集群內部的節點是相互通信的(PING-PONG機制),每個節點都是一個redis實例。
(1)Redis集群至少需要3個節點,因為投票容錯機制要求超過半數節點認為某個節點掛了該節點才是掛了,所以2個節點無法構成集群。
(2)要保證集群的高可用,需要每個節點都有從節點,也就是備份節點,所以Redis集群至少需要6臺服務器。
(3)安裝ruby
為了節省資源,這邊準備了兩臺虛擬機,各自安裝三個網卡,這樣總共就是六個網卡,也就是同時運行6個 redis 實例。
角色 | IP地址 |
---|---|
redis1 | 192.168.220.131 |
redis2 | 192.168.220.164 |
redis3 | 192.168.220.165 |
redis4 | 192.168.220.135 |
redis5 | 192.168.220.166 |
redis6 | 192.168.220.167 |
vim /etc/redis/6379.conf 1、首先要注釋掉 bind 項: //redis 中 bind 選項默認監聽所有網卡 2、做如下操作: protected-mode no //關閉保護模式 port 6379 //開啟監聽端口 daemonize yes //以獨立進程啟動 cluster-enabled yes //開啟群集功能 cluster-config-file nodes-6379.conf //群集名稱文件位置 cluster-node-timeout 15000 //群集超時時間設置 appendonly yes //開啟aof持久化
(1)重啟服務:
/etc/init.d/redis_6379 restart
(2)重啟過后,此時在 /var/lib/redis/6379 這個目錄下,就會多出兩個文件:
appendonly.aof :持久化文件
nodes-6379.conf :節點首次啟動生成的配置文件
1.導入 key 文件
keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
2.安裝 rvm :
curl -sSL https://get.rvm.io | bash -s stable
3.執行環境變量:
source /etc/profile.d/rvm.sh rvm list known //列出 Ruby 可安裝的版本
4.安裝 Ruby2.4.1 版本
rvm install 2.4.1
5.使用 Ruby2.4.1 版本
rvm use 2.4.1 ruby -v //查看當前 Ruby2.4.1 版本
6.再次安裝 Redis
gem install redis
7.重新啟動 redis
/etc/init.d/redis_6379 restart
六個實例分為三組,每組一主一從,–replicas 1 表示每組一個從,下面交互的時候,需要輸入 yes 才可以創建。
使用源碼解壓目錄中的 redis-trib.rb 工具創建群集。
redis-cli --cluster create 192.168.220.131:6379 192.168.220.164:6379 192.168.220.165:6379 192.168.220.135:6379 192.168.220.166:6379 192.168.220.167:6379 --cluster-replicas 1
1.隨意登錄一臺 redis,創建一對鍵值:
redis-cli -h 192.168.220.164 -p 6379 //連接164這臺主機
2.此時,我們連接登錄到另外一臺主機上,查看鍵名
redis-cli -h 192.168.220.131 -p 6379 //連接到131這臺主機上
“Redis集群架構簡介”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。