Windows下搭建Redis集群

女爷i 2022-06-12 00:55 340阅读 0赞

Windows下搭建Redis集群

Redis集群:

 如果部署到多台电脑,就跟普通的集群一样;因为Redis是单线程处理的,多核CPU也只能使用一个核,

所以部署在同一台电脑上,通过运行多个Redis实例组成集群,然后能提高CPU的利用率。

在Windows系统下搭建Redis集群:

  1. 需要4个部件:

    Redis、Ruby语言运行环境、Redis的Ruby驱动redis-xxxx.gem、创建Redis集群的工具redis-trib.rb

  1. 安装Redis,并运行3个实例(Redis集群需要至少3个以上节点,低于3个无法创建);
  2. 使用redis-trib.rb工具来创建Redis集群,由于该文件是用ruby语言写的,所以需要安装Ruby开发环境,以及驱动redis-xxxx.gem

1.下载并安装Redis

  1. GitHub路径如下:[https://github.com/MSOpenTech/redis/releases/][https_github.com_MSOpenTech_redis_releases]
  2. Redis提供msizip格式的下载文件,这里下载zip格式 3.0.504版本
  3. 将下载到的Redis-x64-3.0.504.zip解压即可,为了方便使用,建议放在盘符根目录下,并修改目录名为Redis,如:C:\\Redis 或者D:\\Redis
  4.   通过配置文件来启动3个不同的Redis实例,由于Redis默认端口为6379,所以这里使用了638063816382来运行3Redis实例。
  5. 注意:为了避免不必要的错误,配置文件尽量保存为utf8格式,并且不要包含注释;
  6. 配置文件中以下两种保存日志的方式(保存在文件中、保存到System Log中)请根据需求选择其中一种即可:
  7.   loglevel notice #日志的记录级别,notice是适合生产环境的   logfile "D:/Redis/Logs/redis6380_log.txt" #指定log的保持路径,默认是创建在Redis安装目录下,如果有子目录需要手动创建,如此处的Logs目录
  8.   syslog-enabled yes #是否使用系统日志      syslog-ident redis6380 #在系统日志的标识名 这里使用了保存在文件中的方式,所以先在Redis目录D:/Redis下新建Logs文件夹
  9. redis.6380.conf 内容如下:

复制代码

  1. port 6380
  2. loglevel notice
  3. logfile "D:/Redis/Logs/redis6380_log.txt"
  4. appendonly yes
  5. appendfilename "appendonly.6380.aof"
  6. cluster-enabled yes
  7. cluster-config-file nodes.6380.conf
  8. cluster-node-timeout 15000
  9. cluster-slave-validity-factor 10
  10. cluster-migration-barrier 1
  11. cluster-require-full-coverage yes

复制代码

  1. redis.6381.conf 内容如下:

复制代码

  1. port 6381
  2. loglevel notice
  3. logfile "D:/Redis/Logs/redis6381_log.txt"
  4. appendonly yes
  5. appendfilename "appendonly.6381.aof"
  6. cluster-enabled yes
  7. cluster-config-file nodes.6381.conf
  8. cluster-node-timeout 15000
  9. cluster-slave-validity-factor 10
  10. cluster-migration-barrier 1
  11. cluster-require-full-coverage yes

复制代码

  1. redis.6382.conf 内容如下:

复制代码

  1. port 6382
  2. loglevel notice
  3. logfile "D:/Redis/Logs/redis6382_log.txt"
  4. appendonly yes
  5. appendfilename "appendonly.6382.aof"
  6. cluster-enabled yes
  7. cluster-config-file nodes.6382.conf
  8. cluster-node-timeout 15000
  9. cluster-slave-validity-factor 10
  10. cluster-migration-barrier 1
  11. cluster-require-full-coverage yes

复制代码

  1. 配置内容的解释如下:
  2. port 6380 #端口号
  3. loglevel notice #日志的记录级别,notice是适合生产环境的
  4. logfile "Logs/redis6380_log.txt" #指定log的保持路径,默认是创建在Redis安装目录下,如果有子目录需要手动创建,如此处的Logs目录
  5. syslog-enabled yes #是否使用系统日志
  6. syslog-ident redis6380 #在系统日志的标识名
  7. appendonly yes #数据的保存为aof格式
  8. appendfilename "appendonly.6380.aof" #数据保存文件
  9. cluster-enabled yes #是否开启集群
  10. cluster-config-file nodes.6380.conf
  11. cluster-node-timeout 15000
  12. cluster-slave-validity-factor 10
  13. cluster-migration-barrier 1
  14. cluster-require-full-coverage yes

  将上述配置文件保存到Redis目录下,并使用这些配置文件安装3个redis服务,命令如下:

  1. 注意:redis.6380.conf等配置文件最好使用完整路径,避免重启Redis集群出现问题,博主的安装目录为D:/Redis
  2. D:/Redis/redis-server.exe --service-install D:/Redis/redis.6380.conf --service-name redis6380
  3. D:/Redis/redis-server.exe --service-install D:/Redis/redis.6381.conf --service-name redis6381
  4. D:/Redis/redis-server.exe --service-install D:/Redis/redis.6382.conf --service-name redis6382

  启动这3个服务,命令如下:

  1. D:/Redis/redis-server.exe --service-start --service-name Redis6380
  2. D:/Redis/redis-server.exe --service-start --service-name Redis6381
  3. D:/Redis/redis-server.exe --service-start --service-name Redis6382
  4. 执行结果:
  5. ![578448-20170101000748273-1080049971.png][]

这里说明一下~我用博主的这个启动方法一直行不通,不确定这个启动服务命令到底是对还是错。我本人用的是:

D:/Redis/redis-server ./Logs/redis.6380.conf

这个命令来实现启动redis服务的,测试是可以通过的。启动之后可以在任务管理器中查看是否有这个进程的存在。

2.下载并安装ruby

  2.1. 下载路径如下:

  http://dl.bintray.com/oneclick/rubyinstaller/rubyinstaller-2.2.4-x64.exe

  1. 下载后,双击安装即可,同样,为了操作方便,也是建议安装在盘符根目录下,如: C:\\Ruby22-x64 ,安装时这里选中后两个选项,

意思是将ruby添加到系统的环境变量中,在cmd命令中能直接使用ruby的命令

  1. ![578448-20161231232630711-211501252.png][]

2.2.下载ruby环境下Redis的驱动,考虑到兼容性,这里下载的是3.2.2版本

  https://rubygems.org/gems/redis/versions/3.2.2

  1. 注意:下载在页面右下角相关连接一项中

578448-20161231224127351-260128949.png

  1. 安装该驱动,命令如下:
  2. gem install --local path_to_gem/filename.gem
  3. 实际操作如下:
  4. ![578448-20161231233209898-1115746848.png][]

2.3.下载Redis官方提供的创建Redis集群的ruby脚本文件redis-trib.rb,路径如下:

    https://raw.githubusercontent.com/MSOpenTech/redis/3.0/src/redis-trib.rb

  1. 打开该链接如果没有下载,而是打开一个页面,那么将该页面保存为redis-trib.rb
  2. 建议保存到Redis的目录下。

这里我也说明一点:ruby安装有时候不会特别顺利,因为官网有时候会换掉这个安装地址,这种情况下大家只能另外找地址了。

3.创建Redis集群

  1. CMD下切换到Redis目录,使用redis-trib.rb来创建Redis集群:
  2. redis-trib.rb create --replicas 0 127.0.0.1:6380 127.0.0.1:6381 127.0.0.1:6382

  执行结果:

  1. ![578448-20170103100940691-382820890.jpg][]
  2. 当出现提示时,需要手动输入yes,输入后,当出现以下内容,说明已经创建了Redis集群
  3. ![578448-20170103101131050-439447930.jpg][]
  4. 检验是否真的创建成功,输入以下命令:
  5. redis-trib.rb check 127.0.0.1:6380
  6. 出现以下信息,说明创建的Redis集群是没问题的

578448-20170103114028206-281352717.png

使用Redis客户端Redis-cli.exe来查看数据记录数,以及集群相关信息

  1. D:/Redis/redis-cli.exe -c -p 6380

-c 表示 cluster

-p 表示 port 端口号

578448-20170105170548003-2022751429.png

输入dbsize查询 记录总数

  1. dbsize

或者一次输入完整命令:

  1. D:/Redis/redis-cli.exe -c -p 6380 dbsize
  2. 结果如下:
  3. ![578448-20170105170856269-1044676861.png][]
  4. 输入cluster info可以从客户端的查看集群的信息:
  5. cluster info

 结果如下:

578448-20170105171104691-1699042108.png

这里我再补充一点:就是在顺利的情况下是这个步骤的,可是要是其中有一步发生问题,那就得重新开始,这个时候一定要注意将产生的aof和conf这两类文件删除,否则有可能发生不可预测的问题。

Center

如果对上面的内容还有什么疑义或者问题都可以加我QQ:208017534咨询。

原文地址: 点击打开链接

发表评论

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

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

相关阅读

    相关 WindowsRedis

     [Redis集群][Redis]:  如果部署到多台电脑,就跟普通的集群一样;因为Redis是单线程处理的,多核CPU也只能使用一个核, 所以部署在同一台电脑上,通过

    相关 windowsredis

    作为一 个高性能的key-value数据库,redis的应用场景非常广泛,无论是应用缓存还是token验证,都离不开它的影子,和memcached不同,redis不存在旧...