windows如何搭建redis集群
操作系统:win10 64位
redis版本:3.2.1-x64
ruby版本:2.5.1-1-x64
rubygems版本:2.7.6
今天突然想简单的搭建一个redis的集群,因为系统是Windows上的,所以就网上查找了一番搭建集群的相关博客和攻略,经过各种问题后,成功运行了。现在记下来,省的忘记了。。。
其中相关程序的版本经过搭建后,就暂时确立为以上版本,放在百度云盘上,地址:https://pan.baidu.com/s/1D5Xyl-3fonr8mKUlNQA2Ug,密码:00x5。搭建过程中出现过一些问题,有些是因为ruby版本太低,有些是安装不正确等各种因素,具体的一些原因可以查看博客https://blog.csdn.net/asas1314/article/details/50203923,上面总结的挺好的,就不详细讲了。
一、 下载redis
下载上述百度云盘中的redis,解压到任意文件夹中,我直接下载到桌面上了,就干脆解压到桌面上去了,里面文件如下所示(其中的redis-trib.rb是没有的,需要另外下载的):
二、 配置三主三从集群
解压后,将redis复制五份,配置三主三从集群,由于redis默认端口为6379,所以另外五份分别为6380,6381,6382,6383,6384。我建立的如下所示:
其中每一个文件夹都是一个redis
三、 修改每一份redis的配置
以6379为例,打开文件夹中的redis.windows.conf文件,分别修改里面的如下数据:
port 6379 //修改默认端口,与文件夹相同即可
cluster-enabled yes //开启实例的集群模式
cluster-config-file nodes-6379.conf //设定保存节点配置文件的路径,节点文件自动生成,无需修改
cluster-node-timeout 15000 //调整为 15000,那么在创建集群的时候,不会超时。
appendonly yes //开启appendonly模式后,redis将每一次写操作请求都追加到appendonly.aof文件中
注意:修改配置文件的时候去掉注释的部分,前面不能有空格
同时还有一个文件 redis.windows-service.conf也需要修改相同之处,保存即可
另外,在每个文件夹中写一个bat用来启动redis,内容如下:
title redis-6379
redis-server.exe redis.windows.conf
建立完成之后,可以分别点击每个文件夹中的bat,启动每个redis。
四、 安装ruby
redis建立的的集群需要ruby环境,所以下载云盘中的rebyinstaller,全部下一步,该勾选的全部勾选上,
路径选择其他或者默认即可。之前因为下载安装的2.4.4-1的版本,安装之后出现了点问题,所以升级了ruby为2.5.1-1的版本。
五、 安装rubygems
下载云盘的版本后解压缩,启动cmd进入到解压后的文件夹中,直接运行ruby setup.rb执行安装即可
上面的命令执行安装完后,接着执行命令 gem install redis,安装redis的相关依赖。
六、下载集群脚本redis-trib.rb
可以用云盘上传的那个。或者在百度下载其他脚本,我是将文件放到了D:/Redis目录下
七、 执行集群构建脚本
进入到redis-trib.rb所在的文件夹中,执行命令redis-trib.rb create --replicas 1 127.0.0.1:6379 127.0.0.1:6380
127.0.0.1:6381 127.0.0.1:6382 127.0.0.1:6383 127.0.0.1:6384,即可构建集群。
其中会出现Can I set the above configuration? (type 'yes' to accept),输入yes,
最后出现两个OK的时候差不多就是构建成功了。其中上面也可以看到主从节点的对应关系,如图:
八、 测试集群
例如进入6379的文件夹,输入命令redis-cli.exe -h 127.0.0.1 -p 6379 -c(h自然是主机号,p是端口号,c连接集群结点时使用,此选项可防止moved和ask异常。)后,
开启redis,然后,例如输入一个set name hello,然后集群会自动将这个保存到6380的redis中,集群之间也会自动的跳转过去,然后在6380中去get name,自然可以获取的到。
九、 关闭和重新启动集群
网上查看了很久,似乎关闭和重新启动集群主要是关闭redis服务和重新启动redis服务,其中靠谱的解答如下:
(1)通过redis-cli连接服务器后执行shutdown命令,则执行停止redis服务操作。
(2)可以使用shutdown命令关闭redis服务器外,还可以使用kill+进程号的方式关闭redis服务。
(3)不要使用Kill 9方式关闭redis进程,这样redis不会进行持久化操作,除此之外,还会造成缓冲区等资源不能优雅关闭,极端情况下会造成AOF和复制丢失数据的情况
(4)shutdown还有一个参数,代表关闭redis服务前是否生产持久化文件
shutdown save|nosave
windows如何搭建redis集群的更多相关文章
- Windows 环境搭建Redis集群(win 64位)
转: http://blog.csdn.net/zsg88/article/details/73715947 参考:https://www.cnblogs.com/tommy-huang/p/6240 ...
- Windows下 搭建redis集群
Windows下搭建redis集群教程 一,redis集群介绍 Redis cluster(redis集群)是在版本3.0后才支持的架构,和其他集群一样,都是为了解决单台服务器不够用的情况,也防止了主 ...
- 在windows上搭建redis集群
一 所需软件 Redis.Ruby语言运行环境.Redis的Ruby驱动redis-xxxx.gem.创建Redis集群的工具redis-trib.rb 二 安装配置redis redis下载地址 ...
- Windows下搭建Redis集群
Redis集群: 如果部署到多台电脑,就跟普通的集群一样:因为Redis是单线程处理的,多核CPU也只能使用一个核, 所以部署在同一台电脑上,通过运行多个Redis实例组成集群,然后能提高CPU的利用 ...
- Redis集群搭建(转自一菲聪天的“Windows下搭建Redis集群”)
配置Redis参考:http://blog.csdn.net/zsg88/article/details/73715947 使用Ruby配置集群参考:https://www.cnblogs.com/t ...
- Windows 环境搭建Redis集群
环境以及引用资料 1.windows server 2008 r2 enterprise (木有办法,公司的服务器全是如此,就这种环境搭建吧) 2.redis官方资料下载: https://redi ...
- Redis → Windows下搭建redis集群
一,redis集群介绍 Redis cluster(redis集群)是在版本3.0后才支持的架构,和其他集群一样,都是为了解决单台服务器不够用的情况,也防止了主服务器宕机无备用服务器,多个节点网络互联 ...
- 在windows上搭建redis集群(redis-cluster)
一 所需软件:Redis.Ruby语言运行环境.Redis的Ruby驱动redis-xxxx.gem.创建Redis集群的工具redis-trib.rb 二 安装配置redis redis下载地址 ...
- 在windows上搭建redis集群(redis-cluster)(转载)
一 所需软件:Redis.Ruby语言运行环境.Redis的Ruby驱动redis-xxxx.gem.创建Redis集群的工具redis-trib.rb 二 安装配置redis redis下载地址 ...
- Windows系统搭建Redis集群三种模式(零坑、最新版)
目录 主从复制 修改配置文件 启动各节点 验证 哨兵模式 修改配置文件 启动实例 验证 集群模式 修改配置文件 启动实例 验证 主从复制 新建以下三个目录,用来部署一主二从 redis 的安装在另外一 ...
随机推荐
- less 一种 动态 样式 语言
LESS « 一种动态样式语言 http://www.bootcss.com/p/lesscss/ 一种 动态 样式 语言. LESS 将 CSS 赋予了动态语言的特性,如 变量, 继承,运算, 函数 ...
- Communicating sequential processes
the-way-to-go_ZH_CN/01.2.md at master · Unknwon/the-way-to-go_ZH_CN https://github.com/Unknwon/the-w ...
- 最简单的 IntelliJ IDEA 中使用 GitHub 进行版本控制教程(持续更新中)
一.在 IntelliJ IDEA 中新建一个项目并提交到 GitHub 1. 运行 IDEA,点击[Create New Project],在 IDEA 中新建一个项目. 2. 在选择项目类型对话框 ...
- Android笔记之获取显示器宽高
原先的Display.getWidth().Display.getHeight()已废弃 推荐的获取Display宽高的方法如下 DisplayMetrics metrics = new Displa ...
- Duilib学习之基础(一个SDK程序)
版权声明:本文为灿哥哥http://blog.csdn.net/caoshangpa原创文章,转载请标明出处. https://blog.csdn.net/caoshangpa/article/det ...
- java中两字符串比较--compareTo方法
java.lang.String.compareTo() 方法比较两个字符串的字典,比较是基于字符串中的每个字符的Unicode值 String n1 = "1"; String ...
- [haoi2014]贴海报
Bytetown城市要进行市长竞选,所有的选民可以畅所欲言地对竞选市长的候选人发表言论.为了统一管理,城市委员会为选民准备了一个张贴海报的electoral墙.张贴规则如下:1.electoral墙是 ...
- windows server 2008 + IIS 7.5实现多用户FTP(多账号对应不同目录
在windows server 2003 + IIS 6 的时候,就已经能实现多用户FTP的功能,不过设置有写繁琐,如果站点多的话,设置账号.权限这些东西都要搞很久.Windows server 20 ...
- ansible-playbook unarchive模块
先 进行 pause模块的 记录: pause 在playbook执行的过程中暂停一定时间或者提示用户进行某些操作 常用参数: minutes:暂停多少分钟 seconds:暂停多少秒 prompt ...
- Android加载/处理超大图片神器!SubsamplingScaleImageView(subsampling-scale-image-view)【系列1】
Android加载/处理超大图片神器!SubsamplingScaleImageView(subsampling-scale-image-view)[系列1] Android在加载或者处理超大巨型图片 ...