我是参照这两篇教程进行的操作:   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. 模块and包

    一.模块 1.import 加载的模块四个通用类别 1.使用python编写的py文件 2.已被编译为共享库或者DLL或者C\C++的扩展 3.包好一组模块的包 4.使用c编写并连接到python解释 ...

  2. python 中 __name__ 的使用

    1. 如果模块是被导入,__name__的值为模块名字2. 如果模块是被直接执行,__name__的值为’__main__’   Py1.py #!/usr/bin/env python def te ...

  3. 3.The significance of Books 书本的意义

    3.The significance of Books 书本的意义 (1)A bookless life is an imcomplete life.Books influence the depth ...

  4. boost--asio

    1.asio综述 asio的核心类是io_service,它相当于前摄器模式的Proactor角色,在异步模式下发起的I/O操作,需要定义一个用于回调的完成处理函数,当I/O完成时io_service ...

  5. idea intellij对Spring进行单元测试

    1.加入Junit4及SpringJUnit4支持 <!-- junit --> <dependency> <groupId>junit</groupId&g ...

  6. 【慕课网实战】Spark Streaming实时流处理项目实战笔记八之铭文升级版

    铭文一级: Spark Streaming is an extension of the core Spark API that enables scalable, high-throughput, ...

  7. 如何通过Openssl实现私有CA,并为HTTP服务提供TLS/SLL安全机制

    原文链接:http://guodayong.blog.51cto.com/263451/1181059 Openssl是SSL的开源实现(可以免费下载应用程序),是一种安全机密程序,主要用于提高远程登 ...

  8. C#重点内容之:接口(interface)(一)网络初级示例

    这一篇来源于网络,简单介绍了接口的概念 接口是体现面向对象编程思想优越性的一件利器,为什么这么说呢? 首先我们来看,接口是为继承而存在的,如果没有继承,那就自然不需要接口了,既然有继承,那就需要把可能 ...

  9. Unicode 字符

    Unicode是计算机可以支持这个星球上多种语言的秘密武器.在Unicode之前,用的都是ASCII. ASCII码非常简单,每个英文都是7位二进制的方式存贮在计算机内,其范围是32~126.当用户在 ...

  10. java重定向与请求转发的区别

    最近工作不算太忙,今天在这里对java中的重定向和请求转发稍作总结,希望能帮助到大家. 请求转发: request.getRequestDispatcher().forward(); 重定向: res ...