当前位置: 首页 > news >正文

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

一、Redis的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

二、Redis集群启动和关闭命令

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

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

http://www.dtcms.com/a/515528.html

相关文章:

  • Vue 生命周期详解
  • vue3调用ant-design-vue组件库的a-table组件
  • 手机网站开发软件南昌网站外包
  • 以图搜图随州网站seo诊断
  • java设计模式六、装饰器模式
  • 微信小程序隐藏滚动条多种方法教程
  • AWS DMS实现MySQL到Redshift的CDC增量数据复制方案
  • 王者重名生成查询抖音快手微信小程序看广告流量主开源
  • 旅游网站建设1000字软文范例800字
  • 网站搜索引擎友好性最近三天发生的重要新闻
  • Flink的checkpoint interval与mini-batch什么区别?
  • CADSoftTools发布两款重要更新:CAD VCL Multiplatform 16.2 与 CAD .NET 16全新发布
  • 【个人成长笔记】在本地Windows系统中如何正确使用adb pull命令,把Linux系统中的文件或文件夹复制到本地中(亲测有效)
  • 触摸未来2025-10-22:语序之困
  • 【滑动窗口与双指针】【定长滑窗】—1456. 定长子串中元音的最大数目
  • Flink 实验性特性把“已预分区”的 DataStream 重新解释为 KeyedStream
  • ADB -> 常用文件操作的组合命令
  • 网格系统网站济南网约车公司
  • 社区网站的推广方案手机写wordpress博客
  • 原子性、可见性和指令重排问题的根源
  • 什么是测试覆盖率?如何衡量?
  • 《宝可梦传说Z-A》下载 整合龙神Ryuinx、eden模拟器附金手指和存档 安卓手机PC版
  • 自动驾驶---基于安全走廊的端到端
  • 2025主流AI标书工具推荐,“闭眼选”高效生成投标文件
  • (22)100天python从入门到拿捏《【网络爬虫】网络基础与HTTP协议》
  • iis6建设网站叶梓 wordpress 主题
  • 【C#】获取电脑网卡MAC地址
  • ​2025网络安全前景与学习路线:抓住数字时代的安全机遇
  • Linux小课堂: SSH 服务部署与客户端连接实战详解
  • 好看网站手机版南开做网站公司