目录

一、说明

二、环境信息

三、介绍

四、部署流程

五、测试


一、说明

该教程为redis集群-cluster切片集群部署方式,不包含redis的安装过程,如需redis安装教程请移步以下链接:

《linux安装部署redis-单机版教程》

如需redis其他方式集群部署,请移步以下链接:

《linux系统搭建redis-主从集群》

《linux系统搭建redis-哨兵集群》

二、环境信息

操作系统:linux centOS 7

redis版本:redis-6.0.7

下载地址:http://download.redis.io/releases/redis-6.0.7.tar.gz

三、介绍

上一篇文章《linux系统搭建redis哨兵集群 教程 centOS系统redis6》介绍了哨兵集群配置,本文将介绍cluster切片集群部署方式。

四、部署流程

一共三台服务器,每台启动两个redis服务,一共6个节点

redis-1:192.168.221.101 6379-redis_6379.conf

redis-2:192.168.221.101 6380-redis_6380.conf

redis-3:192.168.221.102 6379-redis_6379.conf

redis-4:192.168.221.102 6380-redis_6380.conf

redis-5:192.168.221.103 6379-redis_6379.conf

redis-6:192.168.221.103 6380-redis_6380.conf

1.分别连接三台服务器,根据《linux安装部署redis-单机版教程》安装redis,将redis.conf重命名redis_6379.conf 然后修改配置文件:

[root@bogon ~]# cd /opt/redis-6.0.7
[root@bogon redis-6.0.7]# mv redis.conf redis_6379.conf
[root@bogon redis-6.0.7]# vi redis_6379.conf
bind 0.0.0.0                          #允许所有IP访问
port 6379                             #端口
daemonize yes                         #开启守护进行
pidfile /var/run/redis_6379.pid       #pid文件
logfile /var/run/redis_6379.log       #log文件
masterauth 123456                     #连接主服务密码
requirepass 123456                    #客户端连接密码
cluster_enabled yes                   #开启集群
cluster-config-file nodes-6379.conf   #节点node文件

2.复制一份redis_6379.conf名字为redis_6380.conf,并修改redis_6380.conf配置

[root@bogon redis-6.0.7]# cp redis_6379.conf redis_6380.conf
[root@bogon redis-6.0.7]# vi redis_6380.conf
bind 0.0.0.0                          #允许所有IP访问
port 6380                             #端口
daemonize yes                         #开启守护进行
pidfile /var/run/redis_6380.pid       #pid文件
logfile /var/run/redis_6380.log       #log文件
masterauth 123456                     #连接主服务密码
requirepass 123456                    #客户端连接密码
cluster_enabled yes                   #开启集群
cluster-config-file nodes-6380.conf   #节点node文件

3.三台服务器都配置完成后,分别启动6个redis服务

[root@bogon redis-6.0.7]# src/redis-server redis_6379.conf
[root@bogon redis-6.0.7]# src/redis-server redis_6380.conf

4.建立集群关系

#redis-cli -a 密码 --cluster create 所有redis服务ip:端口,中间空格隔开
#--cluster-replicas 1 表示主从比例1:1  即一台master对应一台slave[root@bogon redis-6.0.7]# src/redis-cli -a 123456 --cluster create 192.168.221.101:6379 192.168.221.101:6380 192.168.221.102:6379 192.168.221.102:6380 192.168.221.103:6379 192.168.221.103:6380 --cluster-replicas 1
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
>>> Performing hash slots allocation on 6 nodes...
Master[0] -> Slots 0 - 5460
Master[1] -> Slots 5461 - 10922
Master[2] -> Slots 10923 - 16383
Adding replica 192.168.221.102:6380 to 192.168.221.101:6379
Adding replica 192.168.221.103:6380 to 192.168.221.102:6379
Adding replica 192.168.221.101:6380 to 192.168.221.103:6379
M: c9c503d4c01b28d79b785992c5e89ac162337d6e 192.168.221.101:6379slots:[0-5460] (5461 slots) master
S: f48cb24d420a0b087a2e1f944e2fbebb73af2568 192.168.221.101:6380replicates d41d849fbfeacb8419ccf282b69e8045f678928f
M: 9c0f701a520b523291e0c41801a25f19ebf58925 192.168.221.102:6379slots:[5461-10922] (5462 slots) master
S: dbc5b04d21721bbc90c7313865a0dd49a55d57c7 192.168.221.102:6380replicates c9c503d4c01b28d79b785992c5e89ac162337d6e
M: d41d849fbfeacb8419ccf282b69e8045f678928f 192.168.221.103:6379slots:[10923-16383] (5461 slots) master
S: 4d8ffad851e56ed35fb2ae064bc895f8ab6d8408 192.168.221.103:6380replicates 9c0f701a520b523291e0c41801a25f19ebf58925
Can I set the above configuration? (type 'yes' to accept): yes
.......
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.

根据上面信息得知:

192.168.221.101:6379(主) --> 192.168.221.102:6380 (从)
        192.168.221.102:6379(主) --> 192.168.221.103:6380(从)
        192.168.221.103:6379(主) --> 192.168.221.101:6380(从)

5.使用cluster check查看集群状态

[root@bogon redis-6.0.7]# src/redis-cli -a 123456 --cluster check 192.168.221.101:6379
192.168.221.101:6379 (c9c503d4...) -> 0 keys | 5461 slots | 1 slaves.
192.168.221.102:6379 (9c0f701a...) -> 0 keys | 5462 slots | 1 slaves.
192.168.221.103:6379 (d41d849f...) -> 0 keys | 5461 slots | 1 slaves.
[OK] 0 keys in 3 masters.
0.00 keys per slot on average.
>>> Performing Cluster Check (using node 192.168.221.101:6379)
M: c9c503d4c01b28d79b785992c5e89ac162337d6e 192.168.221.101:6379slots:[0-5460] (5461 slots) master1 additional replica(s)
M: 9c0f701a520b523291e0c41801a25f19ebf58925 192.168.221.102:6379slots:[5461-10922] (5462 slots) master1 additional replica(s)
S: f48cb24d420a0b087a2e1f944e2fbebb73af2568 192.168.221.101:6380slots: (0 slots) slavereplicates d41d849fbfeacb8419ccf282b69e8045f678928f
M: d41d849fbfeacb8419ccf282b69e8045f678928f 192.168.221.103:6379slots:[10923-16383] (5461 slots) master1 additional replica(s)
S: 4d8ffad851e56ed35fb2ae064bc895f8ab6d8408 192.168.221.103:6380slots: (0 slots) slavereplicates 9c0f701a520b523291e0c41801a25f19ebf58925
S: dbc5b04d21721bbc90c7313865a0dd49a55d57c7 192.168.221.102:6380slots: (0 slots) slavereplicates c9c503d4c01b28d79b785992c5e89ac162337d6e
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.

6.使用cluster nodes查询集群状态

[root@localhost redis-6.0.7]# src/redis-cli -h 192.168.221.101 -p 6379 -a 123456 cluster nodes
13f2379a8bcd0eb1f88360a27249091d679aaddf 192.168.221.103:6379@16379 master - 0 1677205029820 12 connected 10923-16383
c88c8cc3d7a439ec2453e5597608898d98d2ced8 192.168.221.103:6380@16380 slave 827e8295c9e745185c86e1cd7edaf89d267a43d8 0 1677205030843 9 connected
18eb18ce817944121053c0cc88700788b0e4aed9 192.168.221.101:6380@16380 slave 13f2379a8bcd0eb1f88360a27249091d679aaddf 0 1677205031880 12 connected
810461d95110fa9d37127c0406945fa014caf5e0 192.168.221.101:6379@16379 myself,master - 0 1677205025000 13 connected 0-5460
1a33bae923b1cea6d5c95becac5cd3455c0a951d 192.168.221.102:6380@16380 slave 810461d95110fa9d37127c0406945fa014caf5e0 0 1677205028794 13 connected
827e8295c9e745185c86e1cd7edaf89d267a43d8 192.168.221.102:6379@16379 master - 0 1677205030000 9 connected 5461-10922

五、测试

1.连接一台redis,存入数据

[root@bogon redis-6.0.7]#  src/redis-cli -a 123456 -c -h 192.168.221.101 -p 6379
192.168.221.101:6379> set name zhangsan
OK
192.168.221.101:6379> get name
"zhangsan1"

2.连接其他redis服务,测试获取数据

[root@bogon redis-6.0.7]#  src/redis-cli -a 123456 -c -h 192.168.221.102 -p 6379
192.168.221.102:6379> get name
"zhangsan"

3. 模拟故障,将一个主服务server-1关闭(101服务6379端口)

[root@localhost redis-6.0.7]# ps -ef|grep redis
root      45503      1  0 09:31 ?        00:00:00 src/redis-server 0.0.0.0:6379 [cluster]
root      45509      1  0 09:31 ?        00:00:00 src/redis-server 0.0.0.0:6380 [cluster]
root      45522  33002  0 09:34 pts/0    00:00:00 grep --color=auto redis
[root@localhost redis-6.0.7]# kill -9 45503

4.使用其他服务查看集群状态,可以看到101服务6379状态为fail,102服务6380提升为master

[root@localhost redis-6.0.7]# src/redis-cli -h 192.168.221.102 -p 6379 -a 123456 cluster nodes
827e8295c9e745185c86e1cd7edaf89d267a43d8 192.168.221.102:6379@16379 myself,master - 0 1677205304000 9 connected 5461-10922
810461d95110fa9d37127c0406945fa014caf5e0 192.168.221.101:6379@16379 master,fail - 1677205283960 1677205278727 13 disconnected
18eb18ce817944121053c0cc88700788b0e4aed9 192.168.221.101:6380@16380 slave 13f2379a8bcd0eb1f88360a27249091d679aaddf 0 1677205305000 12 connected
13f2379a8bcd0eb1f88360a27249091d679aaddf 192.168.221.103:6379@16379 master - 0 1677205307064 12 connected 10923-16383
c88c8cc3d7a439ec2453e5597608898d98d2ced8 192.168.221.103:6380@16380 slave 827e8295c9e745185c86e1cd7edaf89d267a43d8 0 1677205304963 9 connected
1a33bae923b1cea6d5c95becac5cd3455c0a951d 192.168.221.102:6380@16380 master - 0 1677205306018 14 connected 0-5460

linux系统搭建redis cluster集群 切片集群 教程 centOS系统redis6相关推荐

  1. centos7 docker-compose安装_Docker Compose 搭建 Redis Cluster 集群环境

    在前文<Docker 搭建 Redis Cluster 集群环境>中我已经教过大家如何搭建了,本文使用 Docker Compose 再带大家搭建一遍,其目的主要是为了让大家感受 Dock ...

  2. redis实战第七篇 使用redis工具(redis-cli)搭建redis cluster

    上一篇有介绍手动安装redis cluster传送门,很明显,手动创建redis cluster的过程比较繁杂,容易出错,因此redis官方开发了一个工具,可以快速搭建redis cluster.在5 ...

  3. linux下搭建redis并解决无法连接redis的问题

    linux下搭建redis并解决无法连接redis的问题 参考文章: (1)linux下搭建redis并解决无法连接redis的问题 (2)https://www.cnblogs.com/bestmy ...

  4. Redis Cluster高可用(HA)集群环境搭建详细步骤

    1.为什么要有集群 由于Redis主从复制架构每个数据库都要保存整个集群中的所有数据,容易形成木桶效应,所以Redis3.0之后的版本添加特性就是集群(Cluster) 2.Redis集群架构说明 架 ...

  5. 基于Centos7系统搭建Redis集群之主从复制(新手教程)

    最近没多少事,就想着搭建个redis集群玩玩,毕竟听起来也是很高大上的东西,但是经过自己的断断续续的搭建,也感觉不是那么难,肯定也只是刚刚入门,搭建的东西也比较简单,并没有触及到里面更深入的内容: 因 ...

  6. Windows下搭建Redis Cluster集群

    搭建准备:首先到 https://github.com/MSOpenTech/redis/releases 下载Redis-Windows版本:下载好后解压,解压之后可看到这些文件: 进入到解压目录, ...

  7. redis集群 + 哨兵 + zookeeper_Redis05——Redis Cluster 如何实现分布式集群

     前面一片文章,我们已经说了Redis的主从集群及其哨兵模式.本文将继续介绍Redis的分布式集群. " 在高并发场景下,单个Redis实例往往不能满足业务需求.单个Redis数据量过大会 ...

  8. linux下搭建redis哨兵

    1. 准备三台Linux服务器 准备以下三台服务器 192.168.227.97 192.168.227.98 192.168.227.99 然后分别在三台服务器上执行ping,看看它们之间能否相互平 ...

  9. 免费视频直播点播服务器系统,搭建一套完整的网络视频流媒体直播/点播服务系统需要具备哪些条件?...

    原标题:搭建一套完整的网络视频流媒体直播/点播服务系统需要具备哪些条件? 随着Internet的飞速发展,网上现场直播已经从实验阶段走向了实用阶段.各式各样的社会活动都可以借助网上现场直播方式传遍全世 ...

最新文章

  1. 解决Apache CXF 不支持传递java.sql.Timestamp和java.util.HashMap类型问题
  2. (译)第一次Android开发单飞
  3. Jsp实现图书馆借阅管理系统
  4. java 二进制,八进制,十进制,十六进制间相互转换的方法
  5. 关于linux的root用户密码忘记处理成绩
  6. PHP7添加opcache.so模块
  7. Javascript闭包概念剖析
  8. Actor-ES框架:Actor编写-ESGrain与ESRepGrain
  9. spring中基于Java容器配置注解的区别及使用场景
  10. 活的通透的人,会是一个什么样的人?
  11. mysql实现分布式锁_数据库实现分布式锁
  12. 帆软FineMobile 消息推送/定时调度
  13. C语言中short和unsigned short的取值问题和计算机组成原理
  14. ESP32-cam使用-智能家居云端视频监控实现
  15. 计算机字体安装按钮灰色,解决方案:在win10系统上将字体的安装按钮显示为灰色的详细步骤...
  16. 函数的节流(throttle)
  17. 控制windows开关机代码
  18. 【洛谷P2947】向右看齐
  19. 对人工智能未来发展的思考
  20. ramdisk“snmptraps”已满。因此,无法写入文件

热门文章

  1. HTC G13/野火S/A510e获取得root-经本人测试很好用
  2. java前期准备之进制转换
  3. 攻防世界MISC做题记录
  4. 跳槽多次后,月薪等于老同事的年薪
  5. 如何写毕业论文降低查重率?
  6. 对utf-8字符串计算长度
  7. [转载]OMP StOMP 和CoSaMP
  8. 特殊【二类动词】记忆方法
  9. 美国波士顿大学计算机课程,N同学_波士顿大学_计算机_录取成功案例分享
  10. 如何设计mysql的表结构_数据库的数据表的结构是如何设计的?