Windows下Redis集群安装与部署
1、下载 Redis-x64-3.2.100.zip 安装程序
- 官网下载地址:http://redis.io/download
- GitHub下载地址:https://github.com/microsoftarchive/redis/releases
2、安装并运行redis服务
- 解压 Redis-x64-3.2.100.zip 后,并将当前目录切换到Redis解压目录中修改 redis.windows-service.conf 配置文件
bind 127.0.0.1
port 9000
loglevel warning
#requirepass pwd cluster-enabled yes
cluster-config-file nodes-9000.conf
cluster-node-timeout 15000
appendonly yes
#protected-mode no
- 将当前目录切换到Redis解压目录,Shift+右键 选择 在此处打开命令窗口 ,在cmd窗口中执行如下命令,将Redis安装到Windows服务中
redis-server.exe --service-install redis.windows-service-local.conf --service-name Name_Redis
- 在服务中去启动Redis服务【Name_Redis】
验证服务是否正常运行:在redis文件夹目录中运行cmd窗口,输入如下命令即可
redis-cli.exe -h 127.0.0.1 -p 9000
auth pwd
3、安装Ruby并配置环境
- Redis的集群使用 Ruby 脚本编写,所以系统需要有 Ruby 环境,下载Ruby安装包,下载地址:https://rubyinstaller.org/downloads/
- 下载 rubyinstaller-2.6.5-1-x64.exe / rubyinstaller-devkit-2.6.5-1-x64.exe 并且执行安装,注意安装时3个复选框都勾选
现在官网下载的ruby最新版安装之后直接就带有gem了,不需要单独安装,查看版本号:ruby -v和gem -v
安装(安装目录不能包含中文,会出现莫名其妙的问题)完成后修改【系统变量】:
Path 需要配置 Ruby 的安装目录 Bin
PATHEXT 需要配置 .RB;.RBW
- 安装后,通过在命令行中输入以下命令来确保一切工作正常
ruby -v
显示:ruby 2.6.5
4、搭建Redis集群
要让集群正常运作至少需要三个主节点,不过在刚开始试用集群功能时, 强烈建议使用六个节点, 其中三个为主节点, 而其余三个则是各个主节点的从节点。
主节点崩溃,从节点的Redis就会提升为主节点,代替原来的主节点工作, 崩溃的主Redis回复工作后,会成为从节点。
- 创建 Redis集群 目录,在redis安装的根目录下创建6个以端口命名的文件夹,将第1步安装的redis文件夹中的文件分别拷贝到新建的6个文件夹中。
- 更改相应的 redis.windows-service.conf 配置,并且启动6个redis服务,命令如下
redis-server.exe redis.windows-service.conf
5、安装Redis的Ruby驱动【Redis-xxx.gem】
- 下载RubyGems,下载地址:https://rubygems.org/pages/download
- 解压 Rubygems-3.0.6.zip 将当前目录切换到Rubygems解压目录,Shift+右键 选择 在此处打开命令窗口 ,在cmd窗口中执行如下命令
ruby setup.rb
//有关更多详细信息和其他选项
ruby setup.rb --help
- 将当前目录切换到Redis安装目录,Shift+右键 选择 在此处打开命令窗口 ,在cmd窗口中执行如下命令
gem install redis
6、安装Ruby集群脚本 redis-trib
- 下载脚本,下载地址:https://raw.githubusercontent.com/antirez/redis/unstable/src/redis-trib.rb
打开链接如果没有直接下载,可以使用下载器直接下载,或者将页面内容另存为 redis-trib.rb 文件即可
- 建议将脚本文件 redis-trib.rb 存放到其中一个Redis安装目录中,执行如下集群命令
ruby redis-trib.rb create --replicas 1 192.168.1.120:9000 192.168.1.121:9000 192.168.1.120:9001 192.168.1.121:9001 192.168.1.120:9002 192.168.1.121:9002
- Dos命令窗口如果出现 Can I set the above configuration? (type ‘yes’ to accept): 请确定并输入 yes,创建成功
- Dos命令窗口如果出现 Sorry, can’t connect to node 192.168.1.121:9000,原因是redis-trib.rb无法处理受密码保护的Redis节点
对Redis节点进行密码保护时,仅保护其主端口上的通信(默认为6379)。
群集总线上相互通信的群集总线(默认端口+ 10000 = 16379)上的通信不受保护。
因此,当单个节点受到保护时,Redis群集实际上并不是受密码保护的。
因此,在Redis群集中的各个Redis节点上具有密码几乎不会增加安全性。
因此,redis-trib.rb实用程序尚未实现任何身份验证。
- Dos命令窗口如果出现以下提示,原因是redis-trib.rb的链接指向官网最新的版本,需要从对应版本(redis3.2.100即可)的源码压缩包中src文件夹下找到对应的redis-trib.rb文件使用,即可解决问题
WARNING: redis-trib.rb is not longer available!
You should use redis-cli instead. All commands and features belonging to redis-trib.rb have been moved
to redis-cli.
In order to use them you should call redis-cli with the --cluster
option followed by the subcommand name, arguments and options. Use the following syntax:
redis-cli --cluster SUBCOMMAND [ARGUMENTS] [OPTIONS] Example:
redis-cli --cluster create 127.0.0.1:9000 --cluster-replicas 1 To get help about all subcommands, type:
redis-cli --cluster help
7、链接集群进行测试
- 使用Redis客户端Redis-cli.exe来查看数据记录数,以及集群相关信息
- 执行命令链接集群:redis-cli –c –h [address] –p [port]
c:表示集群,必须在命令中加入-c,表示启用集群模式
redis-cli.exe -h 127.0.0.1 -c -p 9000
redis-cli.exe -c -p 9000 - 执行 dbsize 查询记录总数
- 执行 cluster info 查看集群的信息
- 执行set命令后,在其他节点上能get到相应键值,则说明测试通过
Redis集群数据分配策略:
采用一种叫做哈希槽 (hash slot)的方式来分配数据,redis cluster 默认分配了 16384 个slot,当我们set一个key 时,会用CRC16算法来取模得到所属的slot,然后将这个key分到哈希槽区间的节点上,具体算法就是:CRC16(key) % 16384
注意 的是:必须要3个以上的主节点,否则在创建集群时会失败,三个节点分别承担的slot 区间是:
节点A覆盖0-5460
节点B覆盖5461-10922
节点C覆盖10923-16383
所以上图中按照redis cluster的哈希槽算法:CRC16(‘name’)%16384
被分配到了9001端口的redis服务上
至此,Redis Cluster在Windows上的配置就完成了

Windows下Redis集群安装与部署的更多相关文章
- windows下redis集群安装和部署
1.下载windows版本的Redis 官网只提供linux版本的下载 官网下载地址:http://redis.io/download github下载地址:https://github.com/MS ...
- 最新Windows下Redis集群
实现简单的Windows下Redis集群配置,以下是配置过程中出现的几个问题: [1]逐个启动7001 7002 7003 7004 7005 7006节点时,出现createing server T ...
- CentOS下redis集群安装
环境: 一台CentOS虚拟机上部署六个节点,创建3个master,3个slave节点 1.下载并解压 cd /root wget http://download.redis.io/releases/ ...
- Linux 下Redis集群安装部署及使用详解(在线和离线两种安装+相关错误解决方案)
一.应用场景介绍 本文主要是介绍Redis集群在Linux环境下的安装讲解,其中主要包括在联网的Linux环境和脱机的Linux环境下是如何安装的.因为大多数时候,公司的生产环境是在内网环境下,无外网 ...
- Windows下Redis集群搭建
1.第一步先安装Redis 参照<Windows下Redis安装及使用.docx> 在Redis目录E:/Redis下新建Logs文件夹,并且创建3个端口下的配置文件,记得修改里面的接口 ...
- Windows下Redis集群配置
Redis集群学习地址:http://blog.csdn.net/dc_726/article/details/11694437 Windows-32系统下搭建Redis集群 一.Redis主从同步原 ...
- windows下zookeeper集群安装
windows下zookeeper单机版安装,见:https://www.cnblogs.com/lbky/p/9867899.html 一:zookeeper节点为什么是奇数个? 单机模式的zk进程 ...
- redis 集群安装
redis集群安装 1.下载redis源码 2.解压并进入解压后的文件夹redis内 3.make,生成一系列的文件(mkreleasehdr.sh, redis-benchmark, redis-c ...
- linux环境(CentOS-6.7)下redis集群的搭建全过程
linux环境下redis集群的搭建全过程: 使用mount命令将光盘挂载到/mnt/cdrom目录下: [root@hadoop03 ~]# mount -t iso9660 -o ro /dev/ ...
随机推荐
- 99%的程序都没有考虑的网络异常?使用Fundebug.notify()主动上报
近日看到一篇文章99%的程序都没有考虑的网络异常,开篇提到: 绝大多数程序只考虑了接口正常工作的场景,而用户在使用我们的产品时遇到的各类异常,全都丢在看似 ok 的 try catch 中.如果没有做 ...
- Django restframework 序列化之 ModelSerializer 小记
首先介绍一下相关概念 序列化器(Serializer) 1. 自定义型: 继承rest_framework.serializers.Serializer 2. 模型类型: 继承rest_frame ...
- Scrum 之 product Backlog
转载:http://www.zhoujingen.cn/blog/2767.html Scrum的基本概念其实并不复杂,但是想做好并不容易,大家都知道product backlog的重要性,但是我们如 ...
- Windows局域网共享遇到的问题
前言 接这篇:Windows 局域网内共享 我们的环境: 共享机:局域网内某台主机 windows 7 x64 客户端:windows 7 /windows 10 (各版本系统都有) 可以使用共享人数 ...
- django rest framework 过滤 lim分页
一.过滤 1.首先引用diango 自带的过滤配置 2.导入模块 from django_filters.rest_framework import DjangoFilterBackend from ...
- 201871010118-唐敬博《面向对象程序设计(java)》第十三周学习总结
博文正文开头格式:(2分) 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.co ...
- 201871010135 张玉晶《面向对象程序设计(java)》第十二周学习总结
内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/zyja/p/118654 ...
- python基础语法20 面向对象5 exec内置函数的补充,元类,属性查找顺序
exec内置函数的补充 exec: 是一个python内置函数,可以将字符串的代码添加到名称空间中; - 全局名称空间 - 局部名称空间 exec(字符串形式的代码, 全局名称空间, 局部名称空间) ...
- 【使用篇二】SpringBoot整合jsp(6)
1. pom.xml中添加jstl和jasper springboot不推荐使用jsp,所以在spring-boot-starter-web启动器中并没有包括这两个,所以我们需要单独引入: <! ...
- JDOJ 1065 打倒苏联修正主义
JDOJ 1065 https://neooj.com/oldoj/problem.php?id=1065 题目描述 [”客观”背景]苏修是苏联修正主义的简称.从1956年到1966年的10年间,过去 ...