本篇主要介绍关于Redis集群的搭建。环境是linux机版本为14.04的ubuntu。 那么 Redis 集群需要几个实例呢?为什么不说是机器?偷懒,在一台机器上模拟搭建集群。在一台机器上开启6
本篇主要介绍关于Redis集群的搭建。环境是linux机版本为14.04的ubuntu。
那么 Redis 集群需要几个实例呢?为什么不说是机器?偷懒,在一台机器上模拟搭建集群。在一台机器上开启6个 Redis 实例,每个实例各自有自己的配置,这样就相当于6台机器啦。为什么是6台机器?了解过选举模式的大概都知道, 一般要2n+1个服务, 即3,5,7。。,便于选举 leader。
Redis集群6台实例中,有3台 Master 和3台 Slave 实例。
接下来是搭建的步骤。
第一步,为6个实例创建配置目录
这里创建了800{1,2,3}和900{1,2,3} 6个文件夹,作为实例的配置目录。
可以使用命令快速创建
mkdir 800{1,2,3}
mkdir 900{1,2,3}
第二步,修改6个实例的配置文件
cluster-enabled yes
cluster-config-file nodes.conf #这个文件实例会自己去创建
cluster-require-full-coverage no #当集群表示当负责一个插槽的主库下线且没有相应的从库进行故障恢复时,集群仍然可用。否则 表示当负责一个插槽的主库下线且没有相应的从库进行故障恢复时,集群不可用
port 8001 #实例的访问端口
daemonize yes#后台运行
第三步,Redis集群的操作通过Ruby脚本来完成,因此我们需要安装Ruby相关的RPM包,以及Redis和Ruby的接口包
yum install ruby
gem install redis
第四步,启动实例并且创建集群
使用 redis-trib.rb命令来创建集群
redis-trib.rb create --replicas 1 ip1:port1 ip2:port2 ip3:port3 .....
在创建集群命令中 --replicas 1,1其实代表的是一个比例,就是主节点数/从节点数的比例。按照命令中IP:PORT的顺序,先是3个主节点,然后是3个从节点。
第五步,客户端连接集群
使用命令 redis-cli -c -h 127.0.0.1 -p 8001 连接一台实例,并验证
通过机器的 hash 值可以看出 master 和 slave 的关系。
master 8001 -> slave 9001
master 8002 -> slave 9002
master 8003 -> slave 9003