文章目錄
1、Redis Cluster(Redis集羣)簡介:
2、集羣搭建須要的環境:
3、部署集羣:
第一步:先都安裝好 redis 服務
第二步:修改配置文件,全部節點配置同樣
第三步:這步只須要在 master 主服務器中操做
第四步:建立羣集
第五步:驗證:
1、Redis Cluster(Redis集羣)簡介:
(1)edis是一個開源的key value存儲系統,受到了廣大互聯網公司的青睞。redis3.0版本以前只支持單例模式,在3.0版本及之後才支持集羣,這裏我搭建用的是最新的版本 redis-5.0.7;
(2)redis集羣採用P2P模式,是徹底去中心化的,不存在中心節點或者代理節點;
(3)redis集羣是沒有統一的入口的,客戶端(client)鏈接集羣的時候鏈接集羣中的任意節點(node)便可,集羣內部的節點是相互通訊的(PING-PONG機制),每一個節點都是一個redis實例。
2、集羣搭建須要的環境:
(1)Redis集羣至少須要3個節點,由於投票容錯機制要求超過半數節點認爲某個節點掛了該節點纔是掛了,因此2個節點沒法構成集羣。
(2)要保證集羣的高可用,須要每一個節點都有從節點,也就是備份節點,因此Redis集羣至少須要6臺服務器。
(3)安裝ruby
3、部署集羣:
爲了節省資源,這邊準備了兩臺虛擬機,各自安裝三個網卡,這樣總共就是六個網卡,也就是同時運行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
第一步:先都安裝好 redis 服務
第二步:修改配置文件,全部節點配置同樣
vim /etc/redis/6379.conf
一、首先要註釋掉 bind 項:
//redis 中 bind 選項默認監聽全部網卡
二、作以下操做:
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 :節點首次啓動生成的配置文件
![Redis集羣](http://static.javashuo.com/static/loading.gif)
第三步:這步只須要在 master 主服務器中操做
一、導入 key 文件:
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
二、安裝 rvm :
curl -sSL https://get.rvm.io | bash -s stable
1
三、執行環境變量:
source /etc/profile.d/rvm.sh
rvm list known //列出 Ruby 可安裝的版本
四、安裝 Ruby2.4.1 版本
rvm install 2.4.1
五、使用 Ruby2.4.1 版本
rvm use 2.4.1
ruby -v //查看當前 Ruby2.4.1 版本
![Redis集羣](http://static.javashuo.com/static/loading.gif)
六、再次安裝 Redis
gem install redis
![Redis集羣](http://static.javashuo.com/static/loading.gif)
七、從新啓動 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
![Redis集羣](http://static.javashuo.com/static/loading.gif)
第五步:驗證:
(1)隨意登陸一臺 redis,建立一對鍵值:
redis-cli -h 192.168.220.164 -p 6379 //鏈接164這臺主機
![Redis集羣](http://static.javashuo.com/static/loading.gif)
(2)此時,咱們鏈接登陸到另一臺主機上,查看鍵名:
redis-cli -h 192.168.220.131 -p 6379 //鏈接到131這臺主機上
![Redis集羣](http://static.javashuo.com/static/loading.gif)