我的云文档怎么没有了(我的云文档怎么找)
767
2022-05-29
Redis是一个使用ANSI C语言编写的开源key-value内存数据库系统,Redis支持字符串(String), 哈希(Hash), 列表(list), 集合(sets) 和 有序集合(sorted sets)等数据结构类型,并提供多种语言的API。
Redis 在3.0版本前只支持单实例模式,虽然支持主从模式、哨兵模式部署来解决单点故障,但是现在互联网企业动辄大几百G的数据,可完全是没法满足业务的需求,所以,Redis 在 3.0 版本以后就推出了集群模式。
Redis 集群采用了P2P的模式,完全去中心化。Redis 把所有的 Key 分成了 16384 个 slot,每个 Redis 实例负责其中一部分 slot 。集群中的所有信息(节点、端口、slot等),都通过节点之间定期的数据交换而更新。Redis 客户端可以在任意一个 Redis 实例发出请求,如果所需数据不在该实例中,通过重定向命令引导客户端访问所需的实例。
由于集群至少需要6个节点(3主3从模式),为了节约服务器资源,本文只用了一台鲲鹏服务器进行模拟演示,和实际生产环境的集群搭建没本质区别。本文采用Redis-5.0.5版本进行,安装指导参考:https://support.huaweicloud.com/prtg-kunpengmdw/redis_01_0001.html
1 搭建准备
华为云购买一台鲲鹏服务器
本文以云服务器KC1实例搭建,云服务器配置如表1-1所示。
表1-1 云服务器配置
项目
说明
规格
kc1.large.2 | 2vCPUs | 4GB
磁盘
系统盘:高IO(40GB)
表1-2 CentOS操作系统要求
项目
说明
-
CentOS
7.6
在公共镜像中已提供。
Kernel
4.14.0-115
在公共镜像中已提供。
2 安装Redis
cd /opt wget http://download.redis.io/releases/redis-4.0.9.tar.gz tar -zxvf redis-4.0.9.tar.gz cd redis-4.0.9 make -j4 make install
3 创建和启动多个Redis节点
Redis要求 一主一从的搭配至少要 六个节点,形成三对主从,我们需要修改配置文件,然后分别用不同的Redis配置文件启动Redis即可。
1) 创建文件夹
计划集群中 Redis 节点的端口号为 9001-9006 ,端口号即集群下各实例文件夹。数据存放在 端口号/data 文件夹中
mkdir /opt/redis-cluster cd redis-cluster/ mkdir -p 9001/data 9002/data 9003/data 9004/data 9005/data 9006/data
2) 拷贝和修改配置文件
如下操作节点9001,其他几个节点做类似操作。
cp /opt/redis-4.0.9/redis.conf /opt/redis-cluster/9001
修改 redis.conf 配置和单点唯一区别是下图部分,其余还是常规的这几项:
port 9001 #每个节点的端口号 daemonize yes # redis后台运行 bind 127.0.0.1 #默认绑定本地地址,导致其它地方不可远程访问 bind xx.xx.xx.xx #修改为局域网中的IP地址,其他节点可通过局域网IP访问 dir /opt/redis-cluster/9001/data/ #数据文件存放位置 pidfile /var/run/redis_9001.pid #pid 9001和port要对应 cluster-enabled yes #启动集群模式 cluster-config-file nodes9001.conf #9001和port要对应 cluster-node-timeout 15000 #超时时间 appendonly yes #开启AOF日志
3) 启动各个Redis节点
redis-server /opt/redis-cluster/9001/redis.conf redis-server /opt/redis-cluster/9002/redis.conf redis-server /opt/redis-cluster/9003/redis.conf redis-server /opt/redis-cluster/9004/redis.conf redis-server /opt/redis-cluster/9005/redis.conf redis-server /opt/redis-cluster/9006/redis.conf
可以检查一下是否启动成功:ps -el | grep redis
4 搭建集群
redis-cli –cluster create xx.xx.xx.xx:9001 xx.xx.xx.xx:9002 xx.xx.xx.xx:9003 xx.xx.xx.xx:9004 xx.xx.xx.xx:9005 xx.xx.xx.xx:9006 --cluster-replicas 1 redis-cli --cluster help #查看操作集群的命令帮助
说明:
(1)--replicas 1 表示主从复制比例为 1:1,即一个主节点对应一个从节点;然后,默认给我们分配好了每个主节点和对应从节点服务,以及 solt 的大小,因为在 Redis 集群中有且仅有 16383 个 solt ,默认情况会给我们平均分配,当然你可以指定,后续的增减节点也可以重新分配。
(2) 搭建Redis集群的教程很多,介绍的也很全面,但是大多数 还是使用Ruby脚本的版本,安装Ruby本身也不是一件简单的事情,redis-5.0.0之后已经将 redis-trib.rb 脚本的功能全部集成到 redis-cli之中了
5 测试集群
1) 依然是通过客户端命令连接上,通过集群命令看一下状态和节点信息等。
/usr/local/redis-cluster/bin/redis-cli -c -h 192.168.119.131 -p 9001 cluster info cluster nodes
通过命令,可以详细的看出集群信息和各个节点状态,主从信息以及连接数、槽信息等。
2) 设置操作
当我们 set a hello时,出现了 Redirected to slot 信息并自动连接到了9003节点。这也是集群的一个数据分配特性
进行 读写操作时会根据 key计算出的slot,重新定位到 拥有该slot的节点,执行对应的命令。只有 Master节点拥有 slot,读写都在 Master 节点进行
鲲鹏 Redis
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。