一、安装:
下载并解压,安装
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 就可以了。
网友评论