Linux搭建redis集群

前言

如果是redis单机版安装,可以参考上一篇:Linux安装redis

本篇的安装环境和上篇一样,但是本篇是搭建redis集群。要保证集群的高可用,需要每个节点都有从节点,所以Redis集群至少需要6台服务器。因为只有一台服务器,所有这里搭建的伪分布式集群,即一台服务器虚拟运行6个redis实例,修改端口号为8001~8006。

 

搭建

1、在/usr/local目录下,创建一个目录 rediscluster

mkdir rediscluster

2、进入reidscluster目录,创建6个文件夹(批量)

mkdir ./node800{1,2,3,4,5,6}

创建的文件夹如下所示:

 3、将redis配置文件拷贝到 ./rediscluster/node8001/ 下

cp redis/redis.conf ./rediscluster/node8001/

4、修改配置文件内容

port 8001                                --设置端口
#bind 127.0.0.1                          --去掉绑定ip信息
protected-mode no                        --关闭保护模式
dir /usr/local/rediscluster/node8001     --指定数据文件存放位置,必须要指定不同的目录,不然会丢失数据,默认 dir ./。
cluster-enabled yes                      --开启集群模式
cluster-config-file nodes-8001.conf      --集群节点配置文件,这里的800x最好和port对应上,redis集群自动创建、自动更新
cluster-node-timeout 5000                --集群超时时间,节点超过这个时间没反应就断定是宕机
appendonly yes                           --开启AOF持久化

如果要设置密码,需要增加如下配置:
requirepass 123456                       --设置redis访问密码
masterauth 123456                        --设置集群节点间访问密码,跟上面一致

5、保存后,将此配置文件复制到其它节点(node8002~node8006)

 6、在node8002~node8006的配置文件中,命令模式下执行替换命令(将8001改为800x):

 7、切到redis目录,启动node8001节点服务

./src/redis-server /usr/local/rediscluster/node8001/redis.conf

查看redis进程,发现进程中有表示为 [cluster]的redis进程。如下所示:

8、参照上一步,分别启动其它5个节点。启动后查看进程如下:

 

 9、创建集群(其中:-a 123456是配置文件中的密码,cluster-replicas 1,表示1个从节点)

./src/redis-cli -a 123456  --cluster create 192.168.20.15:8001 192.168.20.15:8002 192.168.20.15:8003 192.168.20.15:8004 
192.168.20.15:8005 192.168.20.15:8006 --cluster-replicas 1

执行后,slots和主从节点信息如下(8001(主)和8004(从)、8002(主)和8005(从)、8003(主)和8006(从)):

 10、询问是否确认上面的配置,输入 yes,会打印如下信息:

 自此集群搭建就完成了

 

普通模式

1、普通模式进入redis客户端(-a是密码,-p是端口,如果是远程连接,得加上-h)

./src/redis-cli -a 123456 -p 8001

2、执行set命令,发现报错(意思其实就是 a 对应的slot为15495,只能在8003上执行)

 3、切到8003上再执行set命令,执行成功

 

集群模式

1、普通模式执行命令可能slot不正确导致命令不能执行,所以可以切到集群模式执行(加一个 -c 选项)。

./src/redis-cli -c -a 123456 -p 8001

2、在8001上执行set命令,发现可以执行成功

 

其它命令

1、查看key为a的slot值

cluster keyslot a

2、查看slot信息

cluster slots

 3、查看集群信息:

cluster info

 4、集群帮助命令

redis-cli --cluster help

 

posted @ 2021-02-01 16:41  仅此而已-远方  阅读(1316)  评论(0编辑  收藏  举报