前言:为什么自己要花时间写一篇redis集群文章,网上众多的文章大都是思路正确,但是细节不足,这里写一篇文章记录自己部署时候遇到的问题,当下次再部署的时候避免跳入重复的坑。

上篇文章(http://www.cnblogs.com/blogxiao/p/8485606.html)已经讲述了关于redis单实例的安装,本篇文章讲述redis 的集群。

redis集群:

  (一)环境:windows7

        Redis-x64-3.2.100(windows版,下载地址在上面的文章中)

      RubyInstaller :(https://rubyinstaller.org/) 这个工具是redis集群的工具

  (二)部署

   1.redis官方建议第一次部署的时候至少六个节点,三主三从。所以先将下载下来的redis文件夹复制六份,文件的命名用端口名,建议redis 的文件夹放在根目录下。本片文章是redis垂直集群,单台主机部署多个redis实例

  

  提示:因为上一次安装了单实例的redis,并且将redis部署到windows的服务上,为了避免不必要的麻烦,先删除先前的redis服务。在dos命令中键入:sc delete redis    即可删除redis

  2. 开始配置redis

    

   红框的两个是redis 的核心配置文件。这两个文件配置要一样,在文件中找到如下几个配置

   port 6379(redis 的端口号,对应文件夹的端口号)

   bind 127.0.0.1 (绑定地址,本机测试的时候用环回地址可以,但是当别人也要访问的时候最好用ip,防火墙也要关闭)

   cluster-enabled yes(开启集群模式)

   cluster-config-file nodes-6379.conf (集群的配置文件,这个不用手动创建,在redis服务启动的时候,会自动生成)

   cluster-node-timeout 5000  (连接超时时间)

   appendonly yes  (每次都将数据持久化)

其他端口下的文件也如此配置,其他的redis实例也如此配置,配置成功一个之后建议测试redis服务是否能启动

注意在这些配置文件前面一定不要有空格,会启动报错,即使#前面也不能有空格

配置成功实例将redis设置为window 的服务命令:redis-server --service-install redis.windows.conf  --server-name redis6379

在对应的实例文件夹下启动redis服务键入:redis-server redis.windows.conf ,也可以在服务管理右键启动,但是这种启动一旦保存将难找错误信息,建议用命令启动

注意红框标注的,redis文件夹下有两个配置文件,我使用了不带-service 的,这两者的区别我还不清楚

启动成功成功之后将会在redis 文件夹下看到多出来一个

这个配置文件就是记录集群主从节点的信息:节点id ,分配的slot 的份额,主从标识,以及主从的映射关系

这是已经做完集群之后的,没部署集群的时候,主从关系不会再这里显示

安装ruby

  rubyinstall 地址:https://rubyinstaller.org/  下载之后安装,所有的插件都勾选。一直点击下一步。

  然后gem 安装redis,在redis 目录中 键入命令:gem install redis

下载redis-trib.rb 文件,这个文件是创建集群的命令,还有其他的一些操作命令后续讲解

下载地址https://redis.io/download 下载之后在src文件中查找,然后拷贝到redis目录下

在这个文件夹下执行

ruby redis-trib.rb create --replicas 1 127.0.0.1:6379 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004

--replicas 1 :表示将每个主节点后跟一个从节点

这行命令输入完毕之后,再输入yes,到此redis部署成功

  

redis 在windows 集群的更多相关文章

  1. Redis在Windows集群中的错误

    创建集群: ./redis-trib.rb  create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:70 ...

  2. Redis高可用集群-哨兵模式(Redis-Sentinel)搭建配置教程【Windows环境】

    No cross,no crown . 不经历风雨,怎么见彩虹. Redis哨兵模式,用现在流行的话可以说就是一个"哨兵机器人",给"哨兵机器人"进行相应的配置 ...

  3. Redis+Tomcat+Nginx集群实现Session共享,Tomcat Session共享

    Redis+Tomcat+Nginx集群实现Session共享,Tomcat Session共享 ============================= 蕃薯耀 2017年11月27日 http: ...

  4. Redis进阶实践之十 Redis主从复制的集群模式

    一.引言        Redis的基本数据类型,高级特性,与Lua脚本的整合等相关知识点都学完了,说是学完了,只是完成了当前的学习计划,在以后的时间还需继续深入研究和学习.从今天开始来讲一下有关Re ...

  5. [转帖]Ansible管理windows集群

    Ansible管理windows集群 http://www.cnblogs.com/Dev0ps/p/10026908.html 写的挺好的 我关注点还是不够好呢 最近公司新项目需要安装400+win ...

  6. 厉害—Ansible管理windows集群

    最近公司新项目需要安装400+windows server 2012系统的工作站,想着怎么能像linux下运用ansible批量管理,linux就很简单了有ssh服务 但是下却没这么简单,但还是有办法 ...

  7. 使用Chef管理windows集群

    但凡服务器上了一定规模(百台以上),普通的ssh登录管理的模式就越来越举步维艰.试想Linux发布了一个高危漏洞的补丁,你要把手下成百上千台机器都更新该补丁,如果没有一种自动化方式,那么至少要耗上大半 ...

  8. Redis存储Tomcat集群的Session

    Redis存储Tomcat集群的Session 如何 做到把新开发的代码推送到到生产系统中部署,生产系统要能够零宕机.对使用用户零影响. 设想 是使用集群来搞定,通过通知负载均衡Nginx,取下集群中 ...

  9. 将自己写的windows服务加入到windows集群中

    最近发现windows集群能进行很多自定义,比如在集群中加入自己编写的服务. 能自定义的可不少,截个图: 本次演示中,只想用“通用服务”这个类型. 先列下步骤 编写一个记录时间的Windows服务,这 ...

随机推荐

  1. Linux下使用inotify实现对文件的监控

    项目中,要实现用户通过网页设置參数,后台接收数据然后写串口. 网页写数据到本地文件,使用inotify监控文件的IN_MODIFY事件.当文件被改动,然后触发写串口事件. 第一个程序只把要监控的文件增 ...

  2. Elasticsearch - 搜索类型与搜索位置

    一.搜索类型: Elasticsearch同意用户选择其所希望的处理查询的方式. 由于存在一些不同的情形,对其使用不同的搜索类型才是合适的.为了控制查询的运行方式,我们能够在请求中使用search_t ...

  3. Vue常用语法及命令

    1,Vue常用语法 vue常用语法之变量的定义 // 1,变量相关 // 变量的提升 var username = "雪雪"; var username ; console.log ...

  4. 普通用户无法登陆SSH问题

    Linux正常情况下普通用户是可以登陆SSH的,除非系统管理员作了修改,如果没有修改的情况无法登陆可以尝试以下方法解决: 步骤/方法 1 查看 /etc/ssh/sshd_config文件 发现 ro ...

  5. Supporting IPv6-only Networks

    Supporting IPv6-only Networks - Support - Apple Developer https://developer.apple.com/support/ipv6/ ...

  6. shell脚本常用(记)

    1.变量检查,判空 a.直接变量判断  if [ ! $1 ];then ..empty..fi b.变量通过" "引号引起来  if [ ! -n "$1" ...

  7. JDK安装以及配置环境变量的步骤

    ---恢复内容开始--- 一.JDK安装 JDK下载链接:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads ...

  8. 从sp_executesql中返回table型数据及动态SQL语句的参数化查询

    在返回分页数据时,我们会经常会用到参数化传递过滤条件,如何拼接SQL语句成了一个难题. 我们可以这样拼接: exec('sp_executesql sql语句,参数定义,参数值') sql语句和参数定 ...

  9. ChartCtrl源码剖析之——CChartAxisLabel类

    CChartAxisLabel类用来绘制轴标签,上.下.左.右都可以根据实际需要设置对应的轴标签.它处于该控件的区域,如下图所示: CChartAxisLabel类的头文件. #if !defined ...

  10. Bootstrap中的各种下拉菜单

    @*基本下拉菜单与按钮下拉菜单的样式完全一致.不过,基本的下拉菜单使用<div class="dropdown">包裹,所有要换行.而按钮式下拉菜单<div cl ...