redis3版本以上支持集群
需要ruby的支持
root@iZ2zejfbthvbzs5lxf37vjZ:/usr/local/src/redis-3.2.9/src# apt-get install ruby
root@iZ2zejfbthvbzs5lxf37vjZ:/usr/local/src/redis-3.2.9/src# apt-get install rubygems
root@iZ2zejfbthvbzs5lxf37vjZ:/usr/local/src# gem install redis
在redis安裝目錄下創建redis-cluster文件夾(mkdir redis-cluster)
在redis-cluster下創建6個文件7000,7001,7002,7003,7004,7005
將你的redis.conf配置文件分別復制到這6個文件夾中,更改如下,跟文件名名字一樣
port 7000 //端口7000,7001,7002,7003,7004,7005
bind 本機ip //默認ip為127.0.0.1 需要改為其他節點機器可訪問的ip 否則創建集群時無法訪問對應的端口,無法創建集群
daemonize yes //redis后台運行
pidfile /var/run/redis_7000.pid //pidfile文件對應7000,7001,7002,7003,7004,7005
cluster-enabled yes //開啟集群 把注釋#去掉
cluster-config-file nodes_7000.conf //集群的配置 配置文件首次啟動自動生成 7000,7001,7002,7003,7004,7005
cluster-node-timeout 15000 //請求超時 默認15秒,可自行設置
appendonly yes //aof日志開啟 有需要就開啟,它會每次寫操作都記錄一條日志
開啟這6個redis服務
root@iZ2zejfbthvbzs5lxf37vjZ:/usr/local/src/redis-3.2.9/redis_cluster# redis-server /usr/local/src/redis-3.2.9/redis_cluster/7000/redis.conf
root@iZ2zejfbthvbzs5lxf37vjZ:/usr/local/src/redis-3.2.9/redis_cluster# redis-server /usr/local/src/redis-3.2.9/redis_cluster/7001/redis.conf
root@iZ2zejfbthvbzs5lxf37vjZ:/usr/local/src/redis-3.2.9/redis_cluster# redis-server /usr/local/src/redis-3.2.9/redis_cluster/7002/redis.conf
root@iZ2zejfbthvbzs5lxf37vjZ:/usr/local/src/redis-3.2.9/redis_cluster# redis-server /usr/local/src/redis-3.2.9/redis_cluster/7003/redis.conf
root@iZ2zejfbthvbzs5lxf37vjZ:/usr/local/src/redis-3.2.9/redis_cluster# redis-server /usr/local/src/redis-3.2.9/redis_cluster/7004/redis.conf
root@iZ2zejfbthvbzs5lxf37vjZ:/usr/local/src/redis-3.2.9/redis_cluster# redis-server /usr/local/src/redis-3.2.9/redis_cluster/7005/redis.conf
創建集群(其中redis-trib.rb在你的redis安裝目錄/src下)
root@iZ2zejfbthvbzs5lxf37vjZ:/usr/local/src# /usr/local/src/redis-3.2.9/src/redis-trib.rb create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005
可以看到創建集群成功了:
設置redis集群密碼
如下圖,逐一設置redis密碼: