打算在三臺機子上搭建6個redis實例三臺機子ipnode
172.16.17.222 eshop-cache01
172.16.17.218 eshop-cache02
172.16.17.173 eshop-cache03
172.16.17.42 eshop-cache04
列表項目redis
在eshop-cache03上部署目錄ruby
/etc/redis(存放redis的配置文件),/var/redis/6379(存放redis的持久化文件)bash
編寫配置文件app
redis cluster集羣,要求至少3個master,去組成一個高可用,健壯的分佈式的集羣,每一個master都建議至少給一個slave,3個master,3個slave,最少的要求curl
正式環境下,建議都是說在6臺機器上去搭建,至少3臺機器分佈式
保證,每一個master都跟本身的slave不在同一臺機器上,若是是6臺天然更好,一個master+一個slave就死了url
3臺機器去搭建6個redis實例的redis clustercode
mkdir -p /etc/redis-cluster
mkdir -p /var/log/redis
mkdir -p /var/redis/7001ipport 7001
cluster-enabled yes
cluster-config-file /etc/redis-cluster/node-7001.conf
cluster-node-timeout 15000
daemonize yes
pidfile /var/run/redis_7001.pid
dir /var/redis/7001
logfile /var/log/redis/7001.log
bind 192.168.31.187
appendonly yes
至少要用3個master節點啓動,每一個master加一個slave節點,先選擇6個節點,啓動6個實例
將上面的配置文件,在/etc/redis下放6個,分別爲: 7001.conf,7002.conf,7003.conf,7004.conf,7005.conf,7006.conf
準備生產環境的啓動腳本
在/etc/init.d下,放6個啓動腳本,分別爲: redis_7001, redis_7002, redis_7003, redis_7004, redis_7005, redis_7006
每一個啓動腳本內,都修改對應的端口號
分別在3臺機器上,啓動6個redis實例
將每一個配置文件中的slaveof給刪除
建立集羣
yum install -y ruby
yum install -y rubygems
gem install redis若是提示 Can't check signature: No public key
執行 gpg2 --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3若是redis版本過低
curl -L get.rvm.io | bash -s stable
rvm install 2.4.1
以後執行 gem install redis
集羣啓動
redis-trib.rb create --replicas 1 172.16.17.222:7001 172.16.17.222:7002 172.16.17.218:7003 172.16.17.218:7004 172.16.17.173:7005 172.16.17.173:7006
報錯:[ERR] Sorry, can't connect to node 172.16.17.222:7001