Redis群集

1、Redis基础。

1.1、Redis简介。

Redis是一个开源的、使用C语言编写、支持网络、可基于内存亦持久化的日志型、key-value(键值对)数据库,是目前分布式架构中不可或缺的一环。

Redis服务器程序是单进程模型,也就是在一台服务器上可以同时启动多个Rdis进程,而Reids的实际处理速度则完全依靠于主进程的执行效率。若在服务器只运行一个Redis进程,当多个客户端同时访问时,服务器的处理能力会有一定程度的下降;若在同一台服务器上开启多个Redis进程,Redis在提高并发处理能力的同时会给服务器的CPU造成很大压力。也就是说,在实际生产环境中,需要根据实际的需求来决定开启多少个Redis进程。若对高并发要求更高一些,可能会考虑在同一台服务器上开启多个进程;若CPU资源比较紧张,常用单进程即可。

Redis具有以下几个优点:具有极高的数据读写速度。支持丰富的数据类型。支持数据的持久化。原子性。支持数据备份。

2、Redis安装部署。

组件包:Redis安装包

|--------------|--------------------|-----------|
| 设备 | IP | 备注 |
| Centos01 | 192.168.136.10 | Node1 |
| Centos02 | 192.168.136.20 | Node2 |
| Centos03 | 192.168.136.30 | Node3 |
| Centos04 | 192.168.136.40 | Node4 |
| Centos05 | 192.168.136.50 | Node5 |
| Centos06 | 192.168.136.60 | Node6 |

上传Redis软件包到六台服务器中,使用Xshell同时控制六台服务器进行配置

安装组件包

root@nodeAAA \~# yum -y install gcc net-tools


解包到/usr/src/目录下
root@nodeAAA \~# tar zxf redis-7.2.4.tar.gz -C /usr/src/


编译安装
root@nodeAAA \~# cd /usr/src/redis-7.2.4/
root@nodeAAA redis-7.2.4# make && make install


创建软连接将src/目录下的所有内容链接到/usr/sbin/目录下

root@nodeAAA \~# ln -s src/* /usr/sbin/


创建群集配置目录

root@nodeAAA \~# mkdir cluster


创建群集子目录,并将Redis配置文件复制到群集子目录下

root@nodeAAA redis-7.2.4# mkdir cluster/6001

root@nodeAAA redis-7.2.4# cp redis.conf cluster/6001

root@nodeAAA redis-7.2.4# mkdir cluster/6002

root@nodeAAA redis-7.2.4# cp redis.conf cluster/6002

root@nodeAAA redis-7.2.4# mkdir cluster/6003

root@nodeAAA redis-7.2.4# cp redis.conf cluster/6003

root@nodeAAA redis-7.2.4# mkdir cluster/6004

root@nodeAAA redis-7.2.4# cp redis.conf cluster/6004

root@nodeAAA redis-7.2.4# mkdir cluster/6005

root@nodeAAA redis-7.2.4# cp redis.conf cluster/6005

root@nodeAAA redis-7.2.4# mkdir cluster/6006

root@nodeAAA redis-7.2.4# cp redis.conf cluster/6006


分别修改配置文件中的内容

root@nodeAAA redis-7.2.4# vim cluster/6001/redis.conf

bind 192.168.160.51 #将127.0.0.1修改对应节点IP

protected-mode no #将yes 修改no关闭保护功能

port 6001 #将6379端口修改对应目录的

daemonize yes ​​​​​​​ #将no 修改yes 开启守护进程

cluster-enabled yes ​​​​​​​ #将 #删除 开启群集功能

cluster-config-file nodes-6379.conf #将 #删除 开启群集配置文件

cluster-node-timeout 15000 #将 #删除 开启群集节点超时


分别启动每个服务器的redis服务

root@nodeAAA redis-7.2.4# redis-server cluster/6001/redis.conf


在node1创建群集(仅在node1)

root@nodeAAA \~# yum -y install ruby ruby-devel rpm-build

root@nodeAAA \~# redis-cli --cluster create 192.168.136.10:6001 192.168.136.20:6002 192.168.136.30:6003 192.168.136.40:6004 192.168.136.50:6005 192.168.136.60:6006 --cluster-replicas 1


验证测试,在node1连接

root@nodeAAA \~# redis-cli -h 192.168.136.10 -p 6001 -c

192.168.136.10:6001> set a bb

-> Redirected to slot 15495 located at 192.168.136.30:6003

OK

192.168.136.30:6003> get a

"bb"

192.168.136.30:6003> CLUSTER SLOTS

相关推荐
LHICOD2 小时前
Linux-2
java·linux·后端·jar·vmware·svm·vm
余额瞒着我当琳2 小时前
Linux初识:Linux的历史,计算机的发展脉络,发行版本,选购云服务器,安装Xshell,第一次连接,基础命令指南
linux·运维·服务器
垆边人似月.2 小时前
RDMA 文件传输踩坑(四):从固定延时改造为 READY/ACK 协议
linux·服务器·网络
水饺编程2 小时前
第2章:Linux 基础,制作【.tar.xz】压缩包文件
linux·c语言·汇编
阿里云基础软件3 小时前
Agent 任务提速 10.71%,内存占用降低 21.60%|Alibaba Cloud Linux 4 重大发布
java·linux·人工智能·操作系统·agent
m0_743697594 小时前
DNS的反向域名的相关问题
linux
Android系统攻城狮4 小时前
Linux FFmpeg深度解析之avcodec_parameters_from_context调用流程与实战(十六)
linux·运维·ffmpeg·音视频进阶·ffmpeg音视频·车载音视频进阶
思想觉悟4 小时前
SEAndroid实战
android·linux·c++
前进吧-程序员5 小时前
C++20 协程实战:手写 Task、单线程调度器与 awaiter 的三个钩子
linux
Android系统攻城狮5 小时前
Linux FFmpeg深度解析之avcodec_alloc_context3调用流程与实战(十四)
linux·运维·ffmpeg·车载音视频·音视频进阶·ffmpeg音视频进阶