一 、所需软件:Redis、Ruby语言运行环境、Redis的Ruby驱动redis-xxxx.gem、创建Redis集群的工具redis-trib.rb

二 、安装配置redis 

redis下载地址详见上一节Redis安装部分

集群规划有三个节点的集群,每个节点有一主一备。

把 redis 解压后,再复制出 5 份,配置 三主三从集群。 由于 redis 默认端口号为 6379,那么其它5份的端口可以为6380,6381,6382,6383,6384。 并且把目录使用端口号命名

打开目录6379下有一个文件 redis.windows.conf,修改里面的端口号,以及集群支持配置。

修改其他配置支持集群
cluster-enabled yes
cluster-config-file nodes-6379.conf
cluster-node-timeout 15000
appendonly yes

槽是否全覆盖:cluster-require-full-coverage no。默认是yes,只要有结点宕机导致16384个槽没全被覆盖,整个集群就全部停止服务,所以一定要改为no

如果cluster-enabled 不为yes, 那么在使用JedisCluster集群代码获取的时候,会报错。
cluster-node-timeout 调整为  15000,那么在创建集群的时候,不会超时。
cluster-config-file nodes-6379.conf 是为该节点的配置信息,这里使用 nodes-端口.conf命名方法。服务启动后会在目录生成该文件。

编写一个 bat 来启动 redis,在每个节点目录下建立 start.bat,内容如下:
title redis-6380
redis-server.exe redis.windows.conf

做成windows服务

redis-server --service-install redis.windows.conf --service-name redis6379

三 、安装Ruby

redis的集群使用  ruby脚本编写,所以系统需要有 Ruby 环境 ,下载地址 https://dl.bintray.com/oneclick/rubyinstaller/rubyinstaller-2.2.6-x64.exe

安装时3个选项都勾选。

四 、安装Redis的Ruby驱动redis-xxxx.gem

下载地址 https://rubygems.org/pages/download, 下载后解压,当前目录切换到解压目录中,如 D:\Program Files\redis\rubygems-2.6.12 然后在命令行执行  ruby setup.rb。

-------------------------------------------------------------------------------------

安装过程中出现错误提示信息:“cannot load such file -- rubygems.rb”

有可能是因为中文路径(或者其他字符路径)导致的。请卸载ruby之后,然后在英文路径下,重新安装ruby

-------------------------------------------------------------------------------------

然后GEM 安装 Redis :切换到redis安装目录,需要在命令行中,执行 gem install redis

注意:如果此处服务器无法访问外网,这里需要手动更新redis依赖项,方法如下:

打开 https://gems.ruby-china.org/ 网站,在搜索栏中输入 Redis,找到对应版本redis.gem,下载。

将下载的文件拷贝到服务器redis目录下,执行本地安装命令:gem install redis-3.2.1.gem --local ,完成安装

五 、安装集群脚本redis-trib

下载地址  https://raw.githubusercontent.com/antirez/redis/unstable/src/redis-trib.rb

打开该链接如果没有下载,而是打开一个页面,那么将该页面保存为redis-trib.rb,建议保存到一个Redis的目录下,例如放到6379目录下。

集群的命令为

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

--replicas 1 表示每个主数据库拥有从数据库个数为1。master节点不能少于3个,所以我们用了6个redis

六、 启动每个节点并且执行集群构建脚本

把每个节点下的 start.bat双击启动, 在切换到redis目录在命令行中执行   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

备注:有朋友反应上面的语句执行不成功。可以在前面加上ruby再运行。

  ruby 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 。成功后的结果如下:

七、测试

使用Redis客户端Redis-cli.exe来查看数据记录数,以及集群相关信息

命令 redis-cli –c –h ”地址” –p "端口号" ;  c 表示集群

输入dbsize查询 记录总数

输入cluster info可以从客户端的查看集群的信息

Windows 配置Reids集群 Redis Cluster的更多相关文章

  1. 基于Windows 配置 nginx 集群 & 反向代理

    1.下载 nginx 下载页面 : http://nginx.org/en/download.html 具体文件: http://nginx.org/download/nginx-1.7.0.zip ...

  2. phpredis Redis集群 Redis Cluster

    官方url: https://github.com/phpredis/phpredis/blob/develop/cluster.markdown#readme 2017年10月29日20:44:25 ...

  3. 【docker】【redis】2.docker上设置redis集群---Redis Cluster部署【集群服务】【解决在docker中redis启动后,状态为Restarting,日志报错:Configured to not listen anywhere, exiting.问题】【Waiting for the cluster to join...问题】

    参考地址:https://www.cnblogs.com/zhoujinyi/p/6477133.html https://www.cnblogs.com/cxbhakim/p/9151720.htm ...

  4. 认识Redis集群——Redis Cluster

    前言 Redis集群分三种模式:主从模式.sentinel模式.Redis Cluster.之前没有好好的全面理解Redis集群,特别是Redis Cluster,以为这就是redis集群的英文表达啊 ...

  5. windows配置skywalking集群

    一.zookeeper 准备配置三个zookeeper,因为我是单台模拟,所以需要使用不同的端口,使用版本是apache-zookeeper-3.6.3-bin (必须是3.5+) 1.第1个zook ...

  6. Redis 安装、配置、集群

    1.   Redis的安装 1.1. Redis的安装 Redis是c语言开发的. 安装redis需要c语言的编译环境.如果没有gcc需要在线安装.yum install gcc-c++ 安装步骤: ...

  7. redis 主从配置和集群配置

    主从配置 |  集群配置 redis主从 主从配置原因: 1.到达读写分离,读的操作和写操作比例10 : 1读数据频繁,写数据次数少,这样可以配置1个master数据库用来写数据,配置多个slave从 ...

  8. Redis 单机模式,主从模式,哨兵模式(sentinel),集群模式(cluster),第三方模式优缺点分析

    Redis 的几种常见使用方式包括: 单机模式 主从模式 哨兵模式(sentinel) 集群模式(cluster) 第三方模式 单机模式 Redis 单副本,采用单个 Redis 节点部署架构,没有备 ...

  9. Linux07 /redis的配置、五大数据类型、发布订阅、持久化、主从复制、哨兵配置、集群搭建

    Linux07 /redis的配置.五大数据类型.发布订阅.持久化.主从复制.哨兵配置.集群搭建 目录 Linux07 /redis的配置.五大数据类型.发布订阅.持久化.主从复制.哨兵配置.集群搭建 ...

随机推荐

  1. Python_sklearn机器学习库学习笔记(四)decision_tree(决策树)

    # 决策树 import pandas as pd from sklearn.tree import DecisionTreeClassifier from sklearn.cross_validat ...

  2. Java虚拟机笔记(三):垃圾收集算法

    一.标记-清除(Mark-Sweep)算法 标记清除算法是最基础的收集算法,其他收集算法都是基于这种思想. 标记清除算法分为“标记”和“清除”两个阶段:首先标记出需要回收的对象,标记完成之后统一清除对 ...

  3. Echarts服务端生成图片

    Echarts是百度发布的一套优秀的浏览器端图表控件,Echarts是基于html5的cavens绘图实现.而使用server端生成图片无法借用浏览器端渲染.通用的做法有两种: 是用headless浏 ...

  4. IOS git 删除仓库 新建仓库 提交 合并 操作 码云

    HDHaoShaoPengdeiMac:~ hdhaoshaopeng$ defaults write com.apple.finder AppleShowAllFiles TRUE HDHaoSha ...

  5. paste命令详解

    基础命令学习目录首页 原文链接:https://blog.csdn.net/u011341352/article/details/52806312 个人分类: linux   paste命令和cut命 ...

  6. tensorflow enqueue_many传入多个值的列表传入异常问题————Shape () must have rank at least 1

    tf 的队列操作enqueue_many传入的值是列表,但是放入[]列表抛异常 File "C:\Users\lihongjie\AppData\Local\Programs\Python\ ...

  7. Homebrew -- 安装与使用

    使用 React Native,必须安装的依赖有:Node.Watchman 和 React Native 命令行工具以及 Xcode. 推荐使用Homebrew来安装 Node 和 Watchman ...

  8. iOS静默推送(Silent Remote Notifications)

    此功能是iOS7新增加的功能,允许应用收到通知后在后台(background)状态下运行一段代码,可用于从服务器获取内容更新. 普通推送:收到推送后(有文字有声音),点开通知,进入APP后,才执行-- ...

  9. MySQL原生API、MySQLi面向过程、MySQLi面向对象、PDO操作MySQL

    [转载]http://www.cnblogs.com/52fhy/p/5352304.html 本文将举详细例子向大家展示PHP是如何使用MySQL原生API.MySQLi面向过程.MySQLi面向对 ...

  10. Scrum立会报告+燃尽图(十二月五日总第三十六次):Final阶段分配任务

    此作业要求参见:https://edu.cnblogs.com/campus/nenu/2018fall/homework/2284 项目地址:https://git.coding.net/zhang ...