redis(Cluster)集群

1、配置信息准备(使用3主6从模式):

ip

master

slave1

slave2

192.168.183.138

6381

6382

6383

192.168.183.139

6381

6382

6383

192.168.183.140

6381

6382

6383

创建文件夹:三台主机分别创建

[root@localhost ~]# mkdir -p /usr/local/src/redis-6.2.4/redis-cluster/6381

[root@localhost ~]# mkdir -p /usr/local/src/redis-6.2.4/redis-cluster/6382

[root@localhost ~]# mkdir -p /usr/local/src/redis-6.2.4/redis-cluster/6383

拷贝配置文件:

将redis安装目录下的redis.conf文件分别拷贝到6381,6832,6383下:

cp /usr/local/src/redis-6.2.4/redis.conf /usr/local/src/redis-6.2.4/redis-cluster/6381

cp /usr/local/src/redis-6.2.4/redis.conf /usr/local/src/redis-6.2.4/redis-cluster/6382

cp /usr/local/src/redis-6.2.4/redis.conf /usr/local/src/redis-6.2.4/redis-cluster/6383

2、修改配置文件

9台redis配置文件根据不同的IP 和端口号,按照下面的格式分别修改配置文件。

192.168.183.138:6381  192.168.183.138:6382  192.168.183.138:6383

192.168.183.139:6381  192.168.183.139:6382  192.168.183.139:6383

192.168.183.140:6381  192.168.183.140:6382  92.168.183.140:6383

port 6381

daemonize yes

pidfile“/var/run/redis_6381.pid"

#指定数据文件存放位置,必须要指定不同的目录位置,不然会丢失数据

dir "/usr/local/src/redis-6.2.4/redis-cluster/6381/"

#启动集群模式

cluster-enabled yes

#集群节点信息文件,这里800x最好和port对应上

cluster-config-file nodes-6381.conf

#节点离线的超时时间

cluster-node-timeout 5000

bind 192.168.183.138

#关闭保护模式

protected-mode no

#启动AOF文件

appendonly yes

#如果要设置密码需要增加如下配置:

#设置redis访问密码

#requirepass xxxx

#设置集群节点间访问密码,跟上面一致#masterauth xxx

3、配置完成后启动分别redis

建议:配置完成一个,启动一个。若启动失败,可以及时处理。

确定9个redis全部启动

4、搭建集群

 redis-cli -a xxx --cluster create --cluster-replicas 2 192.168.183.138:6381 192.168.183.138:6382 192.168.183.138:6383 192.168.183.139:6381 192.168.183.139:6382 192.168.183.139:6383 192.168.183.140:6381 192.168.183.140:6382 192.168.183.140:6383

参数:

-a:密码

--cluster-replicas 1: 表示一个master下挂1个slave

--cluster-replicas 2: 表示一个master下挂2个slave

出现上面的内容表示集群搭建成功。

5、登陆客户端查看集群状态

参数:

   -a表示服务端密码   -c表示是集群模式   -h指定ip   -p表示端口号

随便登陆9台中任何一台redis;

cluster info查看显示9台redis都加入集群

cluster nodes查看各个redis的属性

图中myself,master是集群随机选择的一台主master。

6、验证集群效果

集群会随机选择一个master写入数据,而且会有根据内部算法自动切换主节点

读取也会变化

7、开机自启动

根据不同的端口号命名redis启动程序。9台redis都需要配置

[root@localhost ~]# vi /etc/systemd/system/redis-6381.service

[Unit]

# 描述服务

Description=redis-server

# 描述服务类别

After=network.target

# 服务运行参数的设置

[Service]

# 后台运行的形式

Type=forking

# 服务的具体运行命令,服务的启动、重启、停止命令全部要求使用绝对路径且正确

# ExecReload为重启命令,ExecStop为停止命令

ExecStart=/usr/local/bin/redis-server /usr/local/src/redis-6.2.4/redis-cluster/6382/redis6382.conf

# 表示给服务分配独立的临时空间

PrivateTmp=true

# 运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3

[Install]

WantedBy=multi-user.target

每台redis都设置开机自启动。

8. 集群模式优缺点:

Redis集群模式用于在多个Redis节点之间分配数据,提供高可用性和水平扩展。它适用于大规模应用。

优点:1、高可用性和可扩展性。2、数据分片和负载均衡。

缺点:1、配置和管理复杂。2、需要多个节点。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值