Redis集群是Redis提供的分布式数据库方案,集群通过分片来进行数据共享,并提供复制和故障转移功能。
节点
一个Redis集群通常由多个节点组成,刚开始的时候,每个节点都是相互独立运行的,一个节点,就是一个单独运行的Redis服务器,他们都处于一个只包含自己的集群当中,要建立一个真正可工作的集群,我们必须将各个节点连接起来,构成一个包含多个节点的集群。
打开集群:
cluster-enabled选项设置为yes
假设有三个独立的节点8000,8001,8002(暂时使用端口号区分节点)
一开始redis.conf的cluster-enabled选项为no
1.修改为:cluster-enabled yes
2.
启动8000端口的redis-server:
[root@localhost 8000]# ./bin/redis-server redis.conf
8000文件夹的结构如下,这个文件夹包含了整个redis程序组件
bin目录:
redis.conf内容:
port 8000
cluster-enabled yes
3.
使用客户端连接服务器:
[root@localhost 8000]# ./bin/redis-cli -c -p 8000
127.0.0.1:8000>
4.
输入cluster nodes
127.0.0.1:8000> cluster nodes
0bb7aac0ce20c93923884be95f01bd9856c7cf19 :8000@18000 myself,master - 0 0 0 connected
可以看到此时集群只有8000端口一个节点.
将其他节点加入集群:
- 启动8001端口的节点
[root@localhost 8001]# ./bin/redis-server redis.conf
[root@localhost 8001]# ps -x|grep redis
1284 ? Ssl 0:00 ./bin/redis-server *:8000 [cluster]
1292 ? Ssl 0:00 ./bin/redis-server *:8001 [cluster]
1297 pts/0 S+ 0:00 grep --color=auto redis
[root@localhost 8001]#
此时查询进程会发现有两个redis-server在运行
通过cluster meet <ip> <port>命令可以将指定的节点添加到执行命令的redis客户端所在的集群中