Redis6 集群部署文档

533 阅读4分钟

一、说明

本文档为安装配置redis6.2数据库集群的部署操作手册。

由于资源有限,本文档所搭建的所有节点为单台虚拟机搭建,创建6个redis实例组成3主3从的集群环境。

二、环境

系统:CentOS Linux release 7.6.1810 (Core)

数据库:Redis server v=6.2.5

三、步骤

1、 第一步:安装redis数据库

上传安装包,解压,进入解压目录安装。

[root@Y001 ~]# tar -xvf redis-6.2.5.tar.gz

[root@Y001 ~]# cd redis-6.2.5

[root@Y001 ~]# make && make test

[root@Y001 ~]# make install PREFIX=/data/redis

2、 第二步:创建目录

创建相应的实例目录。9001-9006节点

[root@Y001 ~]# mkdir -p /data/redis-cluster/9001

[root@Y001 ~]# mkdir -p /data/redis-cluster/9001/run

[root@Y001 ~]# mkdir -p /data/redis-cluster/9001/log

[root@Y001 ~]# mkdir -p /data/redis-cluster/9001/data

3、 第三步:拷贝执行脚本、实例文件至新创建目录

将安装好的redis参数文件物理拷贝至需要部署集群的9001-9006节点。

[root@Y001 ~]# cp -R /data/redis/* /data/redis-cluster/9001/

4、 第四步:修改redis.conf文件参数

[root@Y001 ~]# vi redis.conf

bind 192.168.6.130 #添加本机的ip

port 9001 #端口

pidfile /data/redis-cluster/9001/run/redis_9001.pid #pid存储目录

logfile /data/redis-cluster/9001/log/redis_9001.log #日志存储目录

dir /data/redis-cluster/9001/data #数据存储目录,目录要提前创建好

cluster-enabled yes #开启集群

cluster-config-file nodes-9001.conf #集群节点配置文件,这个文件是不能手动编辑的。确保每一个集群节点的配置文件不通

cluster-node-timeout 15000 #集群节点的超时时间,单位:ms,超时后集群会认为该节点失败

appendonly yes #持久化

daemonize yes #守护进程

拷贝参数文件至其他端口,替换文件内的相关参数

[root@Y001 ~]# cp /data/redis-cluster/9001/redis.conf /data/redis-cluster/9002/redis.conf

[root@Y001 ~]# sed -i "s/9001/9002/g" /data/redis-cluster/9001/redis.conf redis.conf

5、 第五步:使用参数文件启动各节点实例

使用各个实例的参数文件启动redis实例

[root@Y001 ~]# /data/redis-cluster/bin/redis-server /data/redis-cluster/9001/redis.conf

[root@Y001 ~]# /data/redis-cluster/bin/redis-server /data/redis-cluster/9002/redis.conf

[root@Y001 ~]# /data/redis-cluster/bin/redis-server /data/redis-cluster/9003/redis.conf

[root@Y001 ~]# /data/redis-cluster/bin/redis-server /data/redis-cluster/9004/redis.conf

[root@Y001 ~]# /data/redis-cluster/bin/redis-server /data/redis-cluster/9005/redis.conf

[root@Y001 ~]# /data/redis-cluster/bin/redis-server /data/redis-cluster/9006/redis.conf

6、 第六步:创建redis集群

创建redis集群,3主3从节点。

[root@Y001 ~]# redis-cli --cluster create 192.168.6.130:9001 192.168.6.130:9002 192.168.6.130:9003 192.168.6.130:9004 192.168.6.130:9005 192.168.6.130:9006 --cluster-replicas 1

7、 第七步:查看节点信息

[root@Y001 ~]# redis-cli -c -h 192.168.6.130 -p 9001 cluster info

cluster_state:ok

cluster_slots_assigned:16384

cluster_slots_ok:16384

cluster_slots_pfail:0

cluster_slots_fail:0

cluster_known_nodes:6

cluster_size:3

cluster_current_epoch:6

cluster_my_epoch:1

cluster_stats_messages_ping_sent:1325

cluster_stats_messages_pong_sent:1212

cluster_stats_messages_sent:2537

cluster_stats_messages_ping_received:1207

cluster_stats_messages_pong_received:1325

cluster_stats_messages_meet_received:5

cluster_stats_messages_received:2537

[root@Y001 ~]# redis-cli -c -h 192.168.6.130 -p 9001 cluster nodes

fe583c18857792ac9cea98af169f5b344c94846f 192.168.6.130:9006@19006 slave e3dfdb6c09017af74989f0fc4920719981587caf 0 1629714454000 3 connected

e1d48f1831c4bfb7683d8631ac53d34d2e5b1125 192.168.6.130:9004@19004 slave 4f45fe684d157f69360af676e5a1583f708042f7 0 1629714456032 1 connected

e3dfdb6c09017af74989f0fc4920719981587caf 192.168.6.130:9003@19003 master - 0 1629714457045 3 connected 10923-16383

4f45fe684d157f69360af676e5a1583f708042f7 192.168.6.130:9001@19001 myself,master - 0 1629714455000 1 connected 0-5460

f6e23e0a94e573e9f612aada502b112c2bcd02c1 192.168.6.130:9002@19002 master - 0 1629714455021 2 connected 5461-10922

8ddb932ab0429f7cc555474c0501b45cd9e65c7e 192.168.6.130:9005@19005 slave f6e23e0a94e573e9f612aada502b112c2bcd02c1 0 1629714456000 2 connected

8、 第八步:验证数据库

[root@Y001 ~]# redis-cli -c -h 192.168.6.130 -p 9001

四、注意事项

1、 多主机创建集群需要在hosts文件中添加主机ip和主机名;

2、 多主机创建集群时,需要关闭防火墙、selinux、以及时间校准

关闭防火墙:

[root@Y001 ~]# systemctl stop firewalld

[root@Y001 ~]# systemctl disable firewalld

关闭selinux:

[root@Y001 ~]# vi /etc/sysconfig/selinux

SELINUX=disabled

时间校准:

[root@Y001 ~]# date -R

[root@Y001 ~]# timedatectl set-timezone Asia/Shanghai

[root@Y001 ~]# yum -y install ntp

[root@Y001 ~]# ntpdate ntp1.aliyun.com

节点管理(节点增删,分配哈希槽):

juejin.cn/post/700020…