Redis4.0.2集羣環境搭建

                                               Redis集羣安裝配置node

爲了實現redis高可用性。使用三臺虛擬機來實現redis的集羣環境安裝redis

1.redis集羣架構圖算法

Redis版本 redis-4.0.2vim

三臺服務器:分別爲192.168.112.12八、192.168.112.12九、192.168.112.131ruby

           

 

 

 

 

2.軟件安裝服務器

1)         tar  -zxvf  redis-4.0.2.tar.gz架構

2)         cd redis-4.0.2app

3)         make && make install工具

3.集羣環境安裝spa

1)         首先在192.168.112.128機器上 /opt/renzl/redis 目錄下建立 redis_cluster 目錄;

                   mkdir redis_cluster

2)         進入redis_cluster目錄,分別建立7000、7001兩個文件夾

            mkdir 7000 

3)         而後拷貝redis.conf文件到7000目錄下

cp  /opt/renzl/redis-4.0.2/redis.conf  /opt/renzl/redis

第一個路徑爲解壓路徑

第二個路徑爲redis安裝路徑

4)         別的機器所有執行以上命令或者在一臺機器配置完成經過scp命令複製,進行修改

5)         全部機器安裝完成後進行以下配置以192.168.112.128  7000爲例

vim /opt/renzl/redis/redis_cluster/7000/redis.conf

port  7000                                        //端口7000,        
bind 192.168.112.128                                       //默認ip爲127.0.0.1 須要改成其餘節點機器可訪問的ip 不然建立集羣時沒法訪問對應的端口,沒法建立集羣
daemonize    yes                               //redis後臺運行
pidfile  /var/run/redis_7000.pid          //pidfile文件對應7000,可選
cluster-enabled  yes                           //開啓集羣  把註釋#去掉
cluster-config-file  nodes_7000.conf   //集羣的配置  配置文件首次啓動自動生成 7000
cluster-node-timeout  15000                //請求超時  默認15秒,可自行設置
appendonly  yes                           //aof日誌開啓  有須要就開啓,它會每次寫操做都記錄一條日誌 

6)         重複以上操做,直至全部的配置文件修改完成

7)         分別啓動redis服務

redis-server redis_cluster/7000/redis.conf  //實際路徑本身調整

每臺機器的兩個端口啓動

8)         經過命令查看是否啓動成功

ps -ef | grep redis
正常啓動完成後,開始建立集羣

9)         建立集羣

Redis 官方提供了 redis-trib.rb 這個工具,就在解壓目錄的 src 目錄中,複製到一臺服務器上如:192.168.112.128

cp /opt/renzl/redis-4.0.2/src  /opt/renzl/redis

10)      在執行命令前,須要安裝ruby 安裝過程忽略,可是必須安裝ruby2.2以上版本,不然在建立集羣時會提示版本有問題。

11)      經過命令來建立集羣環境

./redis-trib.rb create --replicas  1  192.168.112.128:7000(全部啓動的redis實例,使用空格隔開)

給定 redis-trib.rb 程序的命令是 create,表示建立一個新的集羣。選項 --replicas 1 表示爲集羣中的每一個主節點建立一個從節點。以後跟着的其餘參數則是實例的地址列表, 指定使用這些地址所指示的實例來建立新集羣。

12)      建立成功

「All 16384 slots covered.」表示集羣中的 16384 個槽都有至少一個主節點在處理, 集羣運做正常。從打印出來的信息也能夠看出,7000,7002,7004是主節點,其它三個是從節點。

13)      經過客戶端鏈接redis服務器

./redis-cli -h 192.168.112.128 -c -p 7000

加參數 -C 可鏈接到集羣,由於上面 redis.conf 將 bind 改成了ip地址,因此 -h 參數不能夠省略。

14)      集羣驗證

set name renzl

 

 

會用CRC16算法來取模獲得所屬的slot,而後將這個key 分到哈希槽區間的節點上,

若是這個時候能過命令來獲取將獲得以下變化:

鏈接會自動切換到192.168.112.131:7002上

相關文章
相關標籤/搜索