1. 程式人生 > >redis cluster搭建

redis cluster搭建

ins master 腳本 china redis啟動 centos7 borde daemon red

redis cluster 是 redis 官方一個高可用解決方案,cluster 中 redis 共有 2^14 (16384)個slot 槽。創建 cluster 後會平均分配到每個 redis 上。cluster 可以對標 分片機制。

這裏介紹為本機啟動6個redis集群服務,並使用 redis-trib.rb 創建 3主3從的 cluster 。

環境準備

六臺服務器: CentOS7 x64(如只是做實驗可在同一臺機器上部署6個redis實例,使用不同端口運行)

安裝包: redis-3.2.11.tar.gz(需要版本3.0以上,安裝目錄/data/redis)

服務器規劃

192.168.226.200

192.168.226.201

192.168.226.202

192.168.226.203

192.168.226.204

192.168.226.205

redis

redis

redis

redis

redis

redis

1)安裝redis實例

tar xf redis-3.2.11.tar.gz -C /tmpcd /tmp/redis-3.2.11makemake PREFIX=/data/redis install?

2)6個redis實例的配置文件redis.conf (bindip改成對應IP)

  1. port 26692

  2. pidfile /data/redis/redis.pid

  3. dbfilename dump.rdb

  4. appendfilename

    "appendonly.aof"

  5. cluster-config-file nodes.conf

  6. cluster-enabled yes

  7. cluster-node-timeout 5000

  8. appendonly yes

  9. daemonize yes

  10. loglevel notice

  11. logfile "/data /redis/log/redis.log"

  12. dir /data/redis

  13. bind 192.168.226.200

  14. #masterauth hxxx18

  15. #requirepass hxxx18?


3)啟動6個redis實例(redis啟動後會監聽兩個端口,默認是6379和16379(1000+6379))

redis-server /data/redis/redis.conf?

4)redis-trib.rb是redis官方推出的管理redis集群的工具,集成在redis的源碼src目錄下,是基於redis提供的集群命令封裝成簡單、便捷、實用的操作工具。因為 redis-trib.rb 是由ruby語言編寫的,所以使用該工具需要ruby語言環境的支持。

  1. yum install ruby

  2. yum install rubygems

  3. gem source --remove https://rubygems.org/;gem source -a https://gems.ruby-china.org

  4. gem install redis --version 3.2.2

  5. ruby -v

  6. cp -rf /tmp/redis-3.2.11/src/redis-trib.rb /data/redis/bin/?


5)構建cluster(註意:redis cluster只能使用一個database 即SELECT 0)

/data/redis/bin/redis-trib.rb create --replicas 1 192.168.226.200:26992 192.168.226.201:26992 192.168.226.202:26992 192.168.226.203:26992 192.168.226.204:26992 192.168.226.205:26992?

--replicas 1 表示我們希望為集群中的每個主節點創建一個從節點,由於redis的集群最少需要3個主節點,如果我們每個主節點需要一個從節點,那麽最少需要6臺機器(或者說6個實例)

6)查看cluster狀態

7)登陸cluster (-c參數)

redis-cli -c –p 26992?

8)cluster建立好後,配置文件添加masterauth和requirepass,重啟所有redis實例,即開啟認證加強安全性

9)準備啟動腳本並加入開機自啟

10)擴容,cluster添加一個新的主從節點

redis-trib.rb add-node 192.168.226.208:7006 192.168.226.209:7006?


redis cluster搭建