Redis集群

redis集群配置:

建立6个redis服务器,配置如下:


Port分别为7000, 7001, 7002, 7003, 7004, 7005

Cluster_config_file分别为:nodes_7000.conf,nodes_7001.conf, nodes_7002.conf, nodes_7003.conf, nodes_7004.conf,nodes_7005.conf

Pidfile分别为: “/var/run/redis_7000.pid”,“/var/run/redis_7001.pid”, “/var/run/redis_7002.pid”, “/var/run/redis_7003.pid”,“/var/run/redis_7004.pid”, “/var/run/redis_7005.pid”


然后分别启动这6个redis服务器.

再使用如下命令将6个redis实例进行主从关联与数据分片:

redis-trib.rb  create --replicas  1  IP:7000 IP:7001  IP:7002 IP:7003  IP:7004  IP:7005


//create  --replicas 1表示为每台主服务器分配一台从服务器.


Redis集群报错:

Error:ERR Slot 5798 is already busy (Redis::CommandError)

Solution:用redis-cli登录到每个节点执行flushall和cluster reset


运行redis-trib.rb 命令时报错:

Solution:yum -y install ruby

ruby-devel rubygems rpm-build

gem install redis



效果图:



Redis集群_第1张图片

Redis主从配置:

在未设置bind   IPrequirepass  password两项配置时,需要将protected-mode设置为no, 从而允许远程访问.


主服务器配置:

Redis集群_第2张图片


从服务器配置:


Redis集群_第3张图片

Slaveof  IP  port ---------添加从属服务器,参数为IP地址、端口号


主备切换配置:

Sentinel.conf:


Redis集群_第4张图片

sentinel monitor master-6379 127.0.0.1 6379 1--------哨兵监视服务器,参数为被监视服务器的名称(自己设定)、IP、端口号、主备切换条件(同意切换主备的哨兵个数)


sentinel failover-timeout master-6379 900000---------哨兵切换主备的条件,参数为被监视服务器名称、时间间隔(在被监视服务器失去联系900000毫秒后切换主备服务器)


down-after-milliseconds 选项指定了Sentinel 认为服务器已经断线所需的毫秒数。


parallel-syncs 选项指定了在执行故障转移时,最多可以有多少个从服务器同时对新的主服务器进行同步,这个数字越小,完成故障转移所需的时间就越长。

你可能感兴趣的:(Redis集群)