redis-cluster遇到的问题

打算在三台机子上搭建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/7001ip

port 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
相关文章
相关标签/搜索