redis集群
linux版本:centos 7
redis版本:5.0.4
1、安裝gcc環境
安裝redis需要依託gcc環境,先檢查linux是否已經安裝了gcc,如果沒有安裝,則需要進行安裝
檢查gcc是否安裝,可以看看版本號
$ gcc -v
如果沒有的話執行下面命令安裝
$ yum install gcc-c++
2、安裝ruby
下面的過程都是在root許可權下完成的。
1)yum安裝ruby和依賴的包。
$ yum install ruby
$ yum install rubygems
一般來說,這一步是能正常完成的。
2)使用gem這個命令來安裝redis介面(gem是ruby的乙個工具包)
gem install redis
3)公升級ruby的版本(第二步驟如果版本太低的話需要安裝高版本的用rvm 來安裝)
安裝rvm,ruby的乙個包管理器。
curl -l get.rvm.io | bash -s stable
執行命令
gpg2 --recv-keys 409b6b1796c275462a1703113804bb82d39dc0e3
執行 curl -l get.rvm.io | bash -s stable
如圖就算是安裝成功了
接著,source環境,讓rvm可用。
source /usr/local/rvm/scripts/rvm
檢視ruby 的版本
rvm list known
rvm install 2.4.1
安裝gem redis介面
gem install redis
在六個系統中安裝reids修改redis.conf 檔案
4啟動集群
ruby ./bin/redis-trib.rb create --replicas 1 10.93.84.53:7000 10.93.84.53:7001 10.93.84.53:7002 10.93.84.53:7003 10.93.84.53:7004 10.93.84.53:7005
5驗證集群狀態
./bin/redis-cli -h 10.93.84.53 -p 7000 -c
一些原理
redis cluster在設計的時候,就考慮到了去中心化,去中介軟體,也就是說,集群中的每個節點都是平等的關係,都是對等的,每個節點都儲存各自的資料和整個集群的狀態。每個節點都和其他所有節點連線,而且這些連線保持活躍,這樣就保證了我們只需要連線集群中的任意乙個節點,就可以獲取到其他節點的資料。
redis集群沒有並使用傳統的一致性雜湊來分配資料,而是採用另外一種叫做雜湊槽(hash slot)的方式來分配的,一致性雜湊對向集群中新增和刪除例項的支援很好,但是雜湊槽對向集群新增例項或者刪除例項的話,需要額外的操作,需要手動的將slot重新平均的分配到新集群的例項中。
redis cluster 預設分配了 16384 個slot,當我們set乙個key時,會用crc16演算法來取模得到所屬的slot,然後將這個key分到雜湊槽區間的節點上,具體演算法就是:crc16(key)%16384。
redis 集群會把資料存在乙個master節點,然後在這個master和其對應的salve之間進行資料同步。當讀取資料時,也根據一致性雜湊演算法到對應的master節點獲取資料。只有當乙個master 掛掉之後,才會啟動乙個對應的salve節點,充當master。
需要注意的是:必須要3個或以上的主節點,否則在建立集群時會失敗,並且當存活的主節點數小於總節點數的一半時,整個集群就無法提供服務了。
redis 集群環境搭建
redis集群部署文件 centos7系統 要讓集群正常工作至少需要3 個主節點,在這裡我們要建立6個 redis 節點,其中三個主節點,三個從節點,對應的 redis 節點的ip 和埠對應關係如下 127.0.0.1 7000 127.0.0.1 7001 127.0.0.1 7002 127.0...
redis 集群環境搭建
redis 集群環境搭建 redis集群部署文件 centos7系統 要讓集群正常工作至少需要3個主節點,在這裡我們要建立6個redis節點,其中三個主節點,三個從節點,對應的redis節點的ip和埠對應關係如下 127.0.0.1 7000 127.0.0.1 7001 127.0.0.1 700...
redis 集群環境搭建
redis 集群環境搭建 redis集群部署文件 centos7系統 要讓集群正常工作至少需要3個主節點,在這裡我們要建立6個redis節點,其中三個主節點,三個從節點,對應的redis節點的ip和埠對應關係如下 127.0.0.1 7000 127.0.0.1 7001 127.0.0.1 700...