Redis 集群環境搭建

2021-09-24 17:07:06 字數 1847 閱讀 2324

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...