Redis 集群是一个分布式(distributed)、容错(fault-tolerant)的 Redis 实现, 集群可以使用的功能是普通单机 Redis 所能使用的功能的一个子集(subset)。
Redis 集群通过分区(partition)来提供一定程度的可用性(availability): 即使集群中有一部分节点失效或者无法进行通讯, 集群也可以继续处理命令请求。
Redis 集群搭建
Redis 集群由多个运行在集群模式(cluster mode)下的 Redis 实例组成, 实例的集群模式需要通过配置来开启, 开启集群模式的实例将可以使用集群特有的功能和命令。
文件中的 cluster-enabled
选项用于开实例的集群模式, 而 cluster-conf-file
选项则设定了保存节点配置文件的路径, 默认值为 nodes.conf
。
要让集群正常运作至少需要三个主节点, 不过在刚开始试用集群功能时, 强烈建议使用六个节点: 其中三个为主节点, 而其余三个则是各个主节点的从节点
首先, 让我们进入一个新目录, 并创建六个以端口号为名字的子目录。并且每个子目录中创建一个 redis.conf
文件
mkdir cluster-test cd cluster-test mkdir 7000 7001 7002 7003 7004 7005
redis.conf内容
port 7000 cluster-enabled yes cluster-config-file nodes.conf cluster-node-timeout 5000 appendonly yes
运行实例:
cd 7000 ../redis-server ./redis.conf
我们需要执行以下命令来创建集群:
./redis-trib.rb create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 \ 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005
- 给定
redis-trib.rb
程序的命令是create
, 这表示我们希望创建一个新的集群。 - 选项
--replicas 1
表示我们希望为集群中的每个主节点创建一个从节点。 - 之后跟着的其他参数则是实例的地址列表, 我们希望程序使用这些地址所指示的实例来创建新集群。
redis-trib
会打印出一份预想中的配置给你看,输入 yes
, redis-trib
就会将这份配置应用到集群当中:
网络异常,图片无法展示
|
最后弹出 [OK] All 16384 slots covered.至此,Redi集群搭建成功
redis集群基本命令
1.查看当前集群信息
cluster info
2.查看集群里有多少个节点
cluster nodes