admin管理员组

文章数量:1794759

使用Redis

使用Redis

本介绍主要侧重容灾解决方案,具体业务情况具体分析,欢迎讨论

  • 环境与版本

安装包下载地址:Index of /releases/

Linux指令

wget download.Redis.io/releases/redis-5.0.5.tar.gz

Redis版本号:5.0.5

操作系统:CentOS 7.9

RedisShake版本:最新版即可

RedisShake下载地址:Releases · alibaba/RedisShake · GitHub

用以编译执行的依赖环境:

yum install -y gcc g++ make gcc-c++ kernel-devel automake autoconf libtool make tcl vim unzip git

  • 部署思路与目的

本次部署需要实现的目的为实现两个Redis集群的数据同步,每个Redis集群分别部署3节点虚拟机,每个虚拟机启用2-nodes的Redis服务,共计6-nodes的Redis集群组成3主3从集群。

  • 具体操作步骤

1、下载与解压安装包

[root@localhost ~]# mkdir /usr/local/redis

wget download.redis.io/releases/redis-5.0.5.tar.gz

[root@localhost local]# tar -zxvf redis-5.0.5.tar.gz

2、编译Redis,本步骤需要依赖编译环境

[root@localhost redis-5.0.5]# Make

[root@localhost redis-5.0.5]# cd src/

[root@localhost src]# male install

如图所示即成功

3、创建bin和etc文件夹,移动可执行程序与配置文件

[root@localhost redis-5.0.5]# cd src

[root@localhost src]# mv redis-trib.rb mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-server redis-sentinel ../bin

[root@localhost redis-5.0.5]# cd bin/

[root@localhost bin]# ls

显示以下文件

mkreleasehdr.sh  redis-benchmark  redis-check-aof  redis-check-rdb  redis-cli  redis-sentinel  redis-server  redis-trib.rb

[root@localhost redis-5.0.5]# mv redis.conf ./etc

4、使用单节点配置文件,运行并验证程序是否正常执行

[root@localhost redis-5.0.5]#cd etc

[root@localhost etc]#vim redis.conf

编辑配置文件,核心在于以下几点:

启动Redis实例

[root@localhost redis-5.0.5]# redis-server ../etc/redis.conf

出现下面这三行表示启动成功

5、进入redis crl命令行,进行简单的操作

[root@localhost src]# redis-cli -h 0.0.0.0 -c -p 6379

0.0.0.0:7001> keys *

6、集群模式部署

[root@localhost redis]# mkdir redis-cluster

[root@localhost redis]# cd redis-cluster/

[root@localhost redis]# mkdir 7001 7002 7003 7004 7005 7006

#每个文件夹中复制一个配置妥当的配置文件【redis.conf】,用于集群启动,cp复制步骤,略

更改每个700下的配置文件,为集群启动做准备,主要关注一下几点:

在基础配置的基础上,约定不同的端口号,建议每个port与文件夹名保持一致。

更改集群相关的配置

完成对应配置之后,启动集群服务

VM1:

[root@localhost ~]#/usr/local/bin/redis-server /usr/local/redis/redis-cluster/7001/redis.conf

[root@localhost ~]#/usr/local/bin/redis-server /usr/local/redis/redis-cluster/7002/redis.conf

VM2:

[root@localhost ~]#/usr/local/bin/redis-server /usr/local/redis/redis-cluster/7003/redis.conf

[root@localhost ~]#/usr/local/bin/redis-server /usr/local/redis/redis-cluster/7004/redis.conf

VM3:

[root@localhost ~]#/usr/local/bin/redis-server /usr/local/redis/redis-cluster/7005/redis.conf

[root@localhost ~]#/usr/local/bin/redis-server /usr/local/redis/redis-cluster/7006/redis.conf

此处格式可以随着不同的位置变通

创建集群:

[root@localhost ~]#redis-cli --cluster create --cluster-replicas 1 IP1:7001 IP1:7002 IP2:7003 IP2:7004 IP3:7005 IP3:7006

进入集群节点查看集群信

[root@localhost redis-cluster]# redis-cli -h 192.168.232.129 -c -p 7001

192.168.232.129:7001> CLUSTER NODES

同理,创建并组建第二个集群,过程略

7、Redis-shake配置与使用

解压与查看bin文件

配置文件中皆有功能描述和注解,本次主要注意以下几点:

源地址相关

目的地址相关

启动Redis Shake

[root@localhost bin]./redis-shake -conf=redis-shake.conf -type=sync &

8、验证同步状态

在集群A中7001实例添加house的keys,去集群B中7001实例查看,成功则如下所示

集群B实例7001的从节点为7004,在7004中也找到同步的Keys,实验成功

  • 相关报错与排错

查看redis进程请坑与删除进程/集群

[root@localhost ~]# ps -ef|grep redis

[root@localhost ~]# kill -9 +进程号

或者

[root@localhost ~]#redis-cli -c -h IP -p 7001 shutdown

[root@localhost ~]#redis-cli -c -h IP -p 7002 shutdown

删除集群中所有进程等于删除该集群

进入对应节点

[root@localhost src]# redis-cli -h 0.0.0.0 -c -p 700X(X=对应端口号)

查看redis端口开启情况

[root@localhost redis-cluster]# netstat -tnlp | grep redis

  • 参考链接

参考了几位前辈的文章,如下链接可以自行查看

blog.csdn/manong20210713/article/details/119979887

blog.csdn/weixin_44923168/article/details/123352259

blog.csdn/duanph/article/details/123224724

blog.csdn/zhangcongyi420/article/details/124301291

help.aliyun/document_detail/52228.html

本文标签: Redis