Redis3 Cluster

2017-11-13  本文已影响0人  Jabez_cc

一、安装:

下载并解压,安装
make && make install

二、创建多个节点并修改配置文件:

daemonize    yes                          //redis后台运行
pidfile  /var/run/redis_8001.pid          //pidfile文件对应8001,8002,8003
port  8001                                //端口7000,7002,7003
cluster-enabled  yes                      //开启集群  把注释#去掉
cluster-config-file  nodes_8001.conf      //集群的配置  配置文件首次启动自动生成 8001,8002,8003
cluster-node-timeout  5000                //请求超时  设置5秒够了
appendonly  yes                           //aof日志开启  有需要就开启,它会每次写操作都记录一条日志

三、启动各个节点:

redis-server 8001/redis.conf &
redis-server 8002/redis.conf &
redis-server 8003/redis.conf &
redis-server 8004/redis.conf &
redis-server 8005/redis.conf &
redis-server 8006/redis.conf &

四、集群:

安装ruby,然后安装redis接口

gem install redis

运行redis-trib.rb(/usr/local/redis-3.2.1/src/redis-trib.rb)来创建集群:

/usr/local/redis-3.2.1/src/redis-trib.rb create --replicas 1 192.168.198.129:8001 192.168.198.129:8002 192.168.198.129:8003 192.168.198.129:8004 192.168.198.129:8005 192.168.198.129:8006

其中,--replicas 1 表示自动为每一个master节点分配一个slave节点

FAQ:

1、创建集群是报错:

in `call': ERR Slot 8579 is already busy (Redis::CommandError)

错误提示是:
slot插槽被占用了(这是 搭建集群前时,以前redis的旧数据和配置信息没有清理干净。)
解决方案是:
用redis-cli 登录到每个节点执行 flushall 和 cluster reset 就可以了。

上一篇下一篇

猜你喜欢

热点阅读