二、redis集群部署(3主3从)

一、R edis的3主3从模式部署

1.1第一步:

用plug用户在3台服务器/usr/local下创建文件夹redis-cluster目录,然后在其下面再分别创建6个文件夹(服务器1创建:8001、8002文件夹;服务器2创建:8003 8004文件夹;服务器3创建:8005 8006文件夹)

  1. mkdir -p /usr/local/redis-cluster #每个服务器都执行
  2. cd /usr/local/redis-cluster #每个服务器都执行
  3. 服务器1:mkdir 8001 8002 #服务器1执行
  4. 服务器2:mkdir 8003 8004 #服务器2执行
  5. 服务器3:mkdir 8005 8006 #服务器3执行

1.2第二步:

把redis/etc/下自带的redis.conf配置文件copy到8001下(同时也拷贝到8002、8003、8004、8005、8006目录下),8001修改如下内容:

  1. daemonize yes(后台启动)
  2. port 8001 (分别对每个机器的端口号进行设置)
  3. bind 192.168.0.6(配置当前机器的ip,这里方便redis集群定位机器,不绑定可能会出现循环查找集群节点机器的情况)
  4. dir /usr/local/redis-cluster/8001/(指定数据文件存放位置,必须要指定不同的目录位置,不然会丢失数据)
  5. cluster-enabled yes(启动集群模式)
  6. cluster-config-file nodes-8001.conf(这里800x最好和port对应上)
  7. cluster-node-timeout 5000(一台机器超时5秒,踢出去该机器。)
  8. appendonly yes
  9. requirepass 123456 (redis密码)

1.3第三步:

参考第二步,把8002-8006的redis.conf配置文件也修改下,重点配置第2、3、4、6项里的端口号,可以用批量替换的方法:

:%s/源字符串/g(:%s/8001/8002/g)

1.4第四步:

分别启动6个redis实例,然后检查是否启动成功

  1. /home/redis/bin/redis-server /usr/local/redis-cluster/800*/redis.conf
  2. ps -ef | grep redis(查看是否启动成功)

1.5第五步:

由于redis集群需要使用ruby命令,所以我们需要安装ruby

  1. yum install ruby
  2. yum install rubygems(1和2结合命令为:yum -y install ruby ruby-devel rubygems rpm-build)
  3. gem install redis --version 4.4.3(安装redis和ruby通讯的接口,版本不一定要和redis对应)

1.6第六步(把以上的单实例,组建为集群)

如下:启动、测试集群

  1. 启动集群

./redis-cli --cluster create 192.168.157.142:8001 192.168.157.142:8002 192.168.157.143:8003 192.168.157.143:8004 192.168.157.144:8005 192.168.157.144:8006 --cluster-replicas 1 -a 123456)

注释:上面1是指主从1:1(主/从) ,前面3台是主,后面3台是从

命令执行后:

Can I set the above......(是否按这个配置):yes

搭建完成:

1.7第七步验证集群

验证集群

  1. 连接任意一个客户端即可:./redis-cli -c -h -p (-c表示集群模式,指定ip地址和端口号),如:/usr/local/redis/bin/redis-cil -c -h 192.168.0.60 -p 800*(联机集群)
  2. 进行验证:cluster into(查看集群信息)、cluster nodes(查看节点列表)
  3. 进行数据操作验证
  4. set name hcf #登录服务器1写一个
  5. get name #登录服务器2或3看看能否获取该值,如果可以就没问题
  6. 关闭集群则需要逐个进行关闭,使用命令
  7. /usr/local/redis/bin/redis-cil -c -h 192.168.0.60 -p 8001 shutdown
  8. ps -ef |grep redis
  9. /usr/local/redis/bin/redis-cil -c -h 192.168.0.60 -p 8002 -a 123456(密码)
  10. cluster nodes(查看节点列表)

1.8第八步:遇到的错误:

问题1:

解决1:给redis设置密码,详见:

https://blog.csdn.net/m0_64284147/article/details/125682121

问题2:

解决2:

问题3:

解决3:protected-mod

问题4

解决4:给redis加密码,重启

问题5:启动集群时提示这个

解决5:这个只是提示密码不安全或者密码不能这么明显,这个不影响启动

问题6:启动单独redis时,提示这个

解决6:这个提示使用了集群模式启动,内存不足会......样的意思,待研究。不过不影响集群启动。

问题7:启动集群时提示这个

解决:这个是因为需要把每台redis都启动,然后再去启动集群。

问题8、查看、清理redis缓存值

查看redis缓存的值,首先登录redis:

>keys *

清理所有缓存值:

flushall

二、R edis集群启动和关闭命令

注释:启动命令上面后,下面这个是总结启动和关闭

2.1文件夹介绍:

/home/plug/redis-7.2.1:redis-7.2.1.tar.gz安装包解压的文件

redis:redis-7.2.1的安装文件,里面有bin文件夹,是负责启动redis和集群的

redis-cluster:redis集群的配置文件

2.2启动集群:

启动集群前先启动6个redis,分别是8001、8002、8003、8004、8005、8006端口

32服务器redis启动:

cd /home/plug/redis/bin

./redis-server /home/plug/redis-cluster/8001/redis.conf

./redis-server /home/plug/redis-cluster/8002/redis.conf

提示这个:大概意思是使用了集群模式启动,内存什么的。但不影响集群启动。

33服务器redis启动:

cd /home/plug/redis/bin

./redis-server /home/plug/redis-cluster/8003/redis.conf

./redis-server /home/plug/redis-cluster/8004/redis.conf

提示这个:大概意思是使用了集群模式启动,内存什么的。但不影响集群启动。

34服务器redis启动:

cd /home/plug/redis/bin

./redis-server /home/plug/redis-cluster/8005/redis.conf

./redis-server /home/plug/redis-cluster/8006/redis.conf

提示这个:大概意思是使用了集群模式启动,内存什么的。但不影响集群启动。

启动集群:

在32服务器上启动即可:

cd /home/plug/redis/bin

./redis-cli --cluster create 10.128.38.32:8001 10.128.38.32:8002 10.128.38.33:8003 10.128.38.33:8004 10.128.38.34:8005 10.128.38.34:8006 --cluster-replicas 1 -a 123456

启动成功标志:
验证集群是否成功:

在32服务器登陆8001或者8002端口的redis,然后存几个字段值。

在33和34服务器,查看能否查看32存的字段值。可以查看就说明集群通了。

32服务器存储值:

root@localhost bin# cd /home/plug/redis/bin/

root@localhost bin# ./redis-cli -c -h 10.128.38.32 -p 8001 -a 123456

Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.

10.128.38.32:8001> set name10 lixin

-> Redirected to slot 15374 located at 10.128.38.34:8005

OK

10.128.38.34:8005> set name11 hcf

OK

10.128.38.34:8005>

33、34服务器查看值:

plug@localhost bin$ cd /home/plug/redis/bin/

plug@localhost bin$ ./redis-cli -c -h 10.128.38.34 -p 8006 -a 123456

Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.

10.128.38.34:8006> get name10

-> Redirected to slot 15374 located at 10.128.38.34:8005

"lixin"

10.128.38.34:8005> get name11

"hcf"

10.128.38.34:8005>

其他(组建集群):

组建集群命令:

cd /home/plug/redis-7.2.1/src

./redis-trib.rb create --replicas 1 10.128.38.32:8001 10.128.38.32:8002 10.128.38.33:8003 10.128.38.33:8004 10.128.38.34:8005 10.128.38.34:8006

2.3关闭集群:

登陆每台集群:

./redis-cli -c -h 10.128.38.32 -p 8001 -a 123456

关闭:

shutdown

相关推荐
火山上的企鹅8 分钟前
Codex实战:APP远程升级服务搭建(三)后台管理页面(APK 上传、版本管理、多应用页签)
服务器·网络·数据库·oracle·qgc
阿狸猿1 小时前
论 NoSQL 数据库技术及其应用
数据库·nosql
FBI HackerHarry浩1 小时前
DataGrip2023.2.3默认保存的数据库和.sql文件在哪里?怎么修改默认路径?
数据库
袁小皮皮不皮1 小时前
3.HCIP OSPF补充知识(优化版)
服务器·网络·数据库·网络协议·智能路由器
运筹vivo@1 小时前
Python ContextVar 底层机制与内存模型拆解
前端·数据库·python
志栋智能2 小时前
超自动化巡检:知识沉淀与团队协作的新载体
大数据·运维·网络·数据库·人工智能·自动化
syt_biancheng2 小时前
Redis初识
数据库·redis·缓存
cmes_love2 小时前
股票逐笔level2历史行情下载十档订单薄五档tick分钟下载分享
数据库·区块链
仙俊红2 小时前
SQL 调优需要掌握的知识
数据库·sql
fofantasy3 小时前
NSK LH12AN 微型导轨技术手册
运维·网络·数据库·经验分享·规格说明书