Spring Boot 整合Redis (二) Redis Cluster 集群环境搭建

我不是女神ヾ 2022-02-19 16:55 296阅读 0赞

官网Redis Cluster教程:https://redis.io/topics/cluster-tutorial

windows下Redis集群

window redis版本 3.2.100

下载地址 https://github.com/MicrosoftArchive/redis/releases

1)解压

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTA5NTc2NDU_size_16_color_FFFFFF_t_70

若需要可去除redis的IP访问限制,打开redis.windows.conf。把bind 127.0.0.1注释掉,并且将protected-mode yes改为no

部署3个节点 (最小群集需要包含至少三个主节点**)**

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTA5NTc2NDU_size_16_color_FFFFFF_t_70 1

为启动方便添加redis节点bat启动

  1. @echo off
  2. title 6379
  3. cd redis_6379
  4. redis-server.exe redis.windows.conf

2)修改各个节点的redis.windows.conf,配置如下:

  1. port 6379
  2. cluster-enabled yes
  3. cluster-config-file nodes-6379.conf
  4. cluster-node-timeout 15000
  5. appendonly yes

cluster-enabled yes,启用集群
cluster-node-timeout 15000,那么在创建集群的时候,不会超时。
cluster-config-file nodes-6379.conf 是为该节点的配置信息,这里使用 nodes-端口.conf命名方法。服务启动后会在目录生成该文件。

3)安装Ruby

下载地址 http://dl.bintray.com/oneclick/rubyinstaller/rubyinstaller-2.3.3-x64.exe

备用 https://pan.baidu.com/s/1\_Ze3y--SdDdzBlvF\_i1gtg 提取码: kkg2

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTA5NTc2NDU_size_16_color_FFFFFF_t_70 2

4)安装Redis的Ruby驱动redis-xxx.gem

下载地址 https://rubygems.org/rubygems/rubygems-3.0.3.zip

备用 https://pan.baidu.com/s/19g7Fio64MHevpG0omFS-sg 提取码: yd3r

解压,到rubygems-3.0.3目录下,执行ruby setup.rb

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTA5NTc2NDU_size_16_color_FFFFFF_t_70 3

切换到每个redis安装目录下,执行gem install redis

20190418111245634.png

若安装失败,手动下载redis-xxx.gem文件

下载地址 https://rubygems.org/downloads/redis-3.2.1.gem

备用 https://pan.baidu.com/s/1r3os4yA510tYzxdoYyASgg 提取码: c6cz

20190418111158495.png

5)安装集群脚本redis-trib

下载liunx版redis-3.2.1源码,解压从src目录下取出redis-trib.rb文件

下载地址 http://download.redis.io/releases/redis-3.2.1.tar.gz

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTA5NTc2NDU_size_16_color_FFFFFF_t_70 4

添加启动集群脚本

  1. @echo off
  2. title 启动集群
  3. ruby redis-trib.rb create --replicas 0 127.0.0.1:6379 127.0.0.1:6380 127.0.0.1:6381
  4. pause

启动集群脚本

错误1:若出现以下情况,极有可能就是下载的redis-trib.rb版本不是3.2.1对应的版本

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTA5NTc2NDU_size_16_color_FFFFFF_t_70 5

截取官网的版本说明,redis cluster高版本和版本3或者4启动方式不一样

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTA5NTc2NDU_size_16_color_FFFFFF_t_70 6

错误2:**若出现如下情况,解决方法是删除生成的配置文件nodes.conf,如果不行则说明现在创建的结点包括了旧集群的结点信息,需要删除redis的持久化文件后再重启redis,比如:appendonly.aofdump.rdb**

20190418155515532.png

方便清除持久化文件,可创建bat脚本

  1. @echo off
  2. title 清空持久化文件
  3. cd redis_6379
  4. del nodes-6379.conf
  5. del appendonly.aof
  6. del dump.rdb
  7. echo 6379清理完成
  8. cd ../redis_6380
  9. del nodes-6380.conf
  10. del appendonly.aof
  11. del dump.rdb
  12. echo 6380清理完成
  13. cd ../redis_6381
  14. del nodes-6381.conf
  15. del appendonly.aof
  16. del dump.rdb
  17. echo 6381清理完成
  18. pause

正常启动情况如下:

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTA5NTc2NDU_size_16_color_FFFFFF_t_70 7

输入:yes接受建议的配置

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTA5NTc2NDU_size_16_color_FFFFFF_t_70 8

可以看各个节点之间彼此通信

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTA5NTc2NDU_size_16_color_FFFFFF_t_70 9

6)测试

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTA5NTc2NDU_size_16_color_FFFFFF_t_70 10

去6380上看下

20190418164104733.png

搭建成功

发表评论

表情:
评论列表 (有 0 条评论,296人围观)

还没有评论,来说两句吧...

相关阅读

    相关 redis-cluster

    今天简单介绍一下redis-cluster集群搭建。 redis 最开始的时候,为了实现高可用,使用的主从模式,主从的模式的缺点是,一旦主挂了,没有办法自动的将“从 ”切换为“