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

相关推荐
A小辣椒2 天前
TShark:Wireshark CLI 功能
linux
A小辣椒2 天前
TShark:基础知识
linux
AlfredZhao2 天前
OCI 明明分配了 200G 系统盘,为什么 df 只看到 30G?
linux·oci
AlfredZhao3 天前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户9718356334663 天前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪3 天前
linux 拷贝文件或目录到指定的位置
linux
摇滚侠4 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
bush44 天前
嵌入式linux学习记录十四、术语
linux·嵌入式
载数而行5204 天前
Linux 11 动态监控指令top
linux
不会C语言的男孩4 天前
Linux 系统编程 · 第 8 章:进程基础
linux·c语言