我是参照这两篇教程进行的操作:   1.https://www.cnblogs.com/weiqinl/p/6490372.html   (主)

                2.https://blog.csdn.net/qiuyufeng/article/details/70474001

                3.http://www.cnblogs.com/007sx/p/8108895.html

以下主要记录的是,自己在实际操作中踩得坑:

1.下载解压redis,并复制出另外5份,都统一放在redis文件夹下,并将他们的文件夹分别命名为6379  6380  6381  6382  6383  6384(对应各自的端口号);

             

2.分别修改配置文件(6个都得改)redis.windows.conf,修改里面的端口号,以及集群支持配置。

    port 6379(分别为各自端口号6379-6384,与文件夹命名一致) 

    bind 0.0.0.0                                                                                    (初始为:127.0.0.1,这样外部网络是连不了的,会报错:redis connection refused: connect)

    protected-mode no                     (原本参数值为:yes,这样外部网络也是连不了的,会报错:redis connection refused: connect)

    cluster-enabled yes                    (设置为支持集群配置,如果  cluster-enabled 不为yes, 那么在使用JedisCluster集群代码获取的时候,会报错。)

    cluster-node-timeout  5000                 (cluster-node-timeout 调整为  5000,那么在创建集群的时候,不会超时。)

    appendonly  yes                     

    

3.编写一个 bat 来启动 redis,在每个节点目录下建立  start.bat , 内容如下:

title redis-6380                                  (对应各自端口号6379-6384)

redis-server.exe redis.windows.conf

4.安装ruby (由于 Redis 的集群使用  ruby脚本编写,所以系统需要有 Ruby 环境。 百度下 rubyinstaller-2.3.3-x64.exe, 并下载安装。)

  安装在redis目录下

     
5.下载集群脚本redis-trib
  (如果点开下载不了,则新建一个空的redis-trib.rb文件(注意文件类型后缀),然后将页面中的内容全选复制进去,同样保存在redis目录下)
 
  在redis目录下,按住shift键并点击鼠标右键,选择在此处打开命令窗口(或者自己在cmd中切换目录也可以)运行如下命令:
  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
  (注意此处有坑:若需要外网访问,则必须将127.0.0.1改为IP地址,否则运行java项目时会报错:clusterdown hash slot not served)

  如果此时在cmd上执行该命令,那么会出现如下错误:

   

  是因为缺少 ruby 的一些模块,需要参考后面的安装处理。

6.下载rubygems.

  下载地址 https://rubygems.org/pages/download, 下载后解压,然后在在此安装目录下,执行命令  ruby setup.rb

 
7.gem安装redis

          (如果此时再运行集群创建脚本  redis-trib.rb , 那么依然还是有上图错误)
    
     需要在命令行中,执行 gem install redis。
 
  
 
 
8.启动每个节点,并执行集群构建脚本
    把每个节点下的 start.bat双击启动, 在命令行中执行第5步中的命令   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
    (注意此处有坑:若需要外网访问,则必须将127.0.0.1改为IP地址,否则运行java项目时会报错:clusterdown hash slot not served)
 
    在出现 Can I set the above configuration? (type 'yes' to accept):   请确定并输入 yes 。成功后的结果如下(此时集群已搭建成功):
    

9.设置密码

  如果需要外网访问,则需要开放端口,但为了防止redis被攻击,可以加上密码。 如需加上密码,则在第2步的配置文件中加上这行代码(6个都得加) :

  requirepass  yourpassword

  此时需要关掉6个redis服务,然后重新运行这6个redis服务(双击第3步中建立的脚本)。构建集群的脚本不需要再次运行

windows下的redis集群搭建的艰辛历程的更多相关文章

  1. windows下配置redis集群,启动节点报错:createing server TCP listening socket *:7000:listen:Unknown error

    windows下配置redis集群,启动节点报错:createing server TCP listening socket *:7000:listen:Unknown error 学习了:https ...

  2. windows下安装redis集群

    前几天在自己在本机win10 电脑下部署了redis集群. 主要通过的是网上两个博客: 如何在windows下部署redis集群:https://blog.csdn.net/zsg88/article ...

  3. windows下zookeeper伪集群搭建

    下载 http://www.apache.org/dyn/closer.cgi/zookeeper/ 解压 D:\Java\soft\zookeeper-3.4.6 伪集群 1.在 \zookeepe ...

  4. 在windows下面配置redis集群遇到的一些坑

    最近工作不忙,就决定学习一下redis.因为一直在windows下工作,不会linux,没办法就选择在windows下配置redis. windows下配置redis集群的文章有很多,比如:http: ...

  5. Linux Redis集群搭建与集群客户端实现(Python)

    硬件环境 本文适用的硬件环境如下 Linux版本:CentOS release 6.7 (Final) Redis版本: Redis已经成功安装,安装路径为/home/idata/yangfan/lo ...

  6. Linux Redis集群搭建与集群客户端实现

    硬件环境 本文适用的硬件环境如下 Linux版本:CentOS release 6.7 (Final) Redis版本: Redis已经成功安装,安装路径为/home/idata/yangfan/lo ...

  7. Redis 集群搭建详细指南

    先有鸡还是先有蛋? 最近有朋友问了一个问题,说毕业后去大城市还是小城市?去大公司还是小公司?我的回答都是大城市!大公司! 为什么这么说呢,你想一下,无论女孩男孩找朋友都喜欢找个子高胸大的.同样的道理嘛 ...

  8. 二、redis集群搭建

    redis集群搭建 redis3.0后支持集群.集群中应该至少有三个节点,每个节点有一备份节点.需要6台服务器.搭建伪分布式,需要6个redis实例.搭建集群的步骤: 一.安装单机版redis 第一步 ...

  9. redis集群搭建及注意事项

    上一篇:redis的安装及注意事项 这里,在一个Linux虚拟机上搭建6个节点的redis伪集群,思路很简单,一台虚拟机上开启6个redis实例,每个redis实例有自己的端口.这样的话,相当于模拟出 ...

随机推荐

  1. 前端之html的常用标签2和css基本使用

    一 列表标签 ul标签:无序列表 ol标签:有序列表 li标签:写在ul和ol标签里面的 dl标签:定义列表 dt标签和dd标签:都写在dl里面的 <!DOCTYPE html> < ...

  2. 682. Baseball Game

    static int wing=[]() { std::ios::sync_with_stdio(false); cin.tie(NULL); ; }(); class Solution { publ ...

  3. boost-断言

    标准assert宏的原型声明在<assert.h>中,其作用是如果它的测试条件为假,则调用abort()终止程序执行,程序退出的时候会弹出一个错误提示框,并向控制台输出所在文件及行号.as ...

  4. s4-介质访问控制子层-1 MAC子层

    数据链路层被分成了两个子层:MAC和LLC MAC子层要解决什么问题? 介质访问控制(Madia Access Control) 数据通信方式 单播(unicast):One - to - One ...

  5. Oracle修改数据库的日期

    ---Oracle数据库更新时间字段数据时的sql语句---格式化时间插入 update t_invite_activityinfo set endtime=to_date('2019-10-30 1 ...

  6. oracle如何快速导入导出文本格式数据

    导出工具:sqluldr2工具说明:sqluldr2再以安装oracle客户端的环境下下无需再安装其它软件,只需将对应的软件包拷贝至对应目录,即可运行导出数据导出示例:--linux环境导出示例:/d ...

  7. MIT molecular Biology 笔记11 位点特异性重组 和 DNA转座

    位点特异性重组 和 DNA转座 视频 https://www.bilibili.com/video/av7973580/ 教材 Molecular biology of the gene 7th ed ...

  8. Java 时间、字符串

    Date类     类似C#的DateTime类   String类     类似C#的Srting类.大多方法相同,其中valueOF()是C#中实例版本的toString()   StringBu ...

  9. day21(Listener监听器)

    监听器只要分为监听web对象创建与销毁,监听属性变化,感知监听器. 1.监听web对象的创建与销毁 servletContextListener   监听ServletContext对象的创建和销毁 ...

  10. c++ cout、<< 、cin、>> 、endl 详解

    std::cout是在#include<iostream>库中的ostream类型中的对象 std::表示命名空间,标准库定义的所有名字都在命名空间std中 std::cout是在#inc ...