前言:为什么自己要花时间写一篇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. 19-6/24作业: 将一个double类型的小数,按照四舍五入保留两位小数

    ☞要求 将一个double类型的小数,按照四舍五入保留两位小数 ☞实现方式 1.获得一个double类型的小数 2.使用BigDecimal包的setScale进行操作 3.输出结果 ☞代码内容 pa ...

  2. android各种菜单使用介绍

    Android菜单的有这几种: 1,OptionMenue:选项菜单 2,contextMenu:上下文菜单 3,SubMenu子菜单 其中,OptionMenue与contextMenu的区别(Op ...

  3. Linux学习笔记:系统启动引导过程

    Linux系统启动引导过程 近期发现自己在仅仅是掌握上有几个比較硬的伤: 一.知识体系碎片,比方Linux,这学点那学点,结果没有成体系,串不起来: 二.记忆时间短暂,非常多的内容学了就忘,最后的结果 ...

  4. JAVA泛型类

    泛型是JDK 5.0后出现新概念,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数.这种参数类型可以用在类.接口和方法的创建中,分别称为泛型类.泛型接口.泛型方法. 泛型类引入的好处不 ...

  5. 6.游戏特别离不开脚本(3)-JS脚本操作java(2)(直接解析JS公式,并非完整JS文件或者函数)

    在游戏中可以考虑数据由javabean保存,逻辑方法由JS提供. public class Bean4JS { private int id; private String name; private ...

  6. RDD变换

    对Key/Value型RDD进行变换 groupBy按Key汇聚 fruit,applevegetable,cucumberfruit,cherryvegetable,beanfruit,banana ...

  7. ABAP ALV F4帮助

    ALV F4帮助, 选值保存到ALV. TYPE-POOLS:slis. CLASS lcl_event_receiver DEFINITION DEFERRED. DATA: gt_fcat TYP ...

  8. mysql13---索引使用注意

    .4唯一索引 ①当表的某列被指定为unique约束时,这列就是一个唯一索引 ) unique); 这时, name 列就是一个唯一索引. unique字段可以为NULL,并可以有多NULL(,null ...

  9. Android NDK生成及连接静态库与动态库

    对于Android应用开发,大部分情况下我们使用Java就能完整地实现一个应用.但是在某些情况下,我们需要借助C/C++来写JNI本地代码.比如,在使用跨平台的第三方库的时候:为了提升密集计算性能的时 ...

  10. android编译openssl静态库.a

    github上有一个开源项目,已经为你编译openssl建好了工程. 地址:https://github.com/aluvalasuman/OpenSSL1.0.1cForAndroid 选择需要的版 ...