搭建redis集群(非Docker Windows server)

Redis集群

Redis cluster(redis集群)是在版本3.0后才支持的架构,和其他集群一样,都是为了解决单台服务器不够用的情况,也防止了主服务器宕机无备用服务器,多个节点网络互联数据共享,所有节点都是一主一从(也可以一主多从),其中不提供服务,只做为备份。直接进入主题。

所需软件

注意:版本不对应 可能会造成错误,我才疏学浅还没发现为什么会报错。强烈建议用本文中指定的版本!!

  • Redis: 地址 https://github.com/MSOpenTech/redis/releases 下载Redis-x64-3.2.100.zip

  • Ruby语言运行环境:http://dl.bintray.com/oneclick/rubyinstaller/rubyinstaller-2.3.3.exe

  • Redis-trib.rb 下载 https://raw.githubusercontent.com/antirez/redis/unstable/src/redis-trib.rb(打开是网页,右键另存为redis-trib.rb )

  • Rubygems Redis 的 Ruby 支持环境 https://rubygems.org/rubygems/rubygems-2.6.12.zip

安装开始

  1. 在redis目录下创建6个节点的文件夹:7001-7006(要让集群正常运作,至少需要三个主节点,因此我们创建6个节点,三个主节点三个从节点。)
  2. 将下载好的Redis-x64-3.2.100.zip解压后的文件夹里的所有文件分别copy到7001-7006文件夹中
  3. 修改6个文件夹下redis.windows.conf 文件配置如下图,全部配置好之后启动所有redis节点,为了方便起见可以写一个脚本启动!
	# 配置允许访问的ip  四个0代表所有
    bind 0.0.0.0
    # 默认为yes ,这里为no,此时外部网络可以直接访问
    protected-mode no
    # 端口  可以根据刚才新建的文件夹命名7001-7006
    port 7001
    # 设置redis最大内存  建议master节点设置大一点 slave设置小  这个取决于你的机器内存大小
    maxmemory 1024m
    # 设置内存淘汰策略
    maxmemory-policy allkeys-lru
    # 开启aof持久化
    appendonly yes
    # 设置aof持久化文件名
    appendfilename "appendonly-7001.aof"
    # 开启集群
    cluster-enabled yes
    # 集群节点配置文件
    cluster-config-file nodes-7001.conf
    # 集群节点超时时限
    cluster-node-timeout 15000

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

RubyInstaller 安装

打开exe文件,下一步安装就行了。注意把三项全部勾选。
在这里插入图片描述

Rubygems 安装

将下载好的rubygems-2.6.12.zip解压,
解压后,运行文件setup.rb。
执行 gem install redis 安装 Redis 依赖。
在这里插入图片描述

使用Redis cluster

创建集群
执行以下命令

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:7003 127.0.0.1:7004 127.0.0.1:7005

命令分析:
1)redis-trib.rb create:表示希望创建一个新的集群。
2)replicas 1:表示为集群中的每个主节点创建一个从节点。后面其他参数表示实例的地址列表, 即:程序将使用这些地址所指示的实例来创建新集群。(节点角色由顺序决定,先master之后是slave。)
在这里插入图片描述

执行命令后,首先打印出配置信息。上图表示:
1)使用7000、7001、7002作为主节点。
2)主从节点的对应关系。
3)各节点对应的 slots 范围。
例如 7000 这台机 slots : 0-5460 的意思是:
若 key 进行 CRC16 校验和的值介于 0-5460 范围内,则被存储至7000。
因此,使用前应对业务进行梳理,根据系统中 key 的特点来调整各个机器的slots范围,以避免 key 集中于部分机器上,以致集群的效果不大。

确认配置信息后,输入 yes 并回车确认, 集群将配置应用到各个节点, 并连接起(join)各个节点 —— 也即是, 让各个节点开始互相通讯。
在这里插入图片描述
配置成功后,redis-trib 将输出以下信息:

在这里插入图片描述
这表示集群中的 16384 个槽都有至少一个主节点在处理, 集群运作正常。

创建成功后,nodes-*.conf 将存储 master 和 slave 的对应关系。以 nodes-7000.conf 为例:

上图表示:当前节点(127.0.0.1:7000)节点ID:cb4ea842827dd927058ec5b3abd516f35c697006,主节点,节点编号为1,对应 slots 的范围:0-5460,对应的从节点:127.0.0.1:7003。

进入集群环境

进去随便一个redis目录cmd运行
redis-cli -c -p 7001

测试

1、检查集群状态

C:\Redis> redis-trib.rb check 127.0.0.1:7001
在这里插入图片描述

若输出上述信息,则表示集群启动成功并处于ok状态。

2、从port 7003 set一个值,并从port 7005 get出来
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
windows环境下redis集群搭建搭建频繁如下: redis集群测试 01、安装Redis 02、创建6个目录Redis7001、Redis7002、Redis7003、Redis7004、Redis7005、Redis7006 03、把Redis目录下的redis.windows.conf文件分别复制到上创建创建的6个文件夹中 04、修改6个文件夹中的redis.windows.conf文件 a、修改端口,分别对应 700* b、绑定IP,这里使用的是一台电脑,都设置为127.0.0.1 c、指定数据文件(appendonly.aof)的存放位置,dir C:/MySoftPath/Java/Redis/Redis700*/ d、开启集群模式,cluster-enabled yes e、集群文件配制信息(不用设置路径,自动在对应的700*下面),cluster-config-file nodes-700*.conf f、超时时间,cluster-node-timeout 5000 g、开启aof模式,appendonly yes h、数据文件名称,appendfilename "appendonly.aof" 05、启动这6个redis 06、安装ruby环境(rubyinstaller-2.2.4-x64.exe),注意(安装所有模块),后台需要使用此环境。 07、下载ruby环境下Redis的驱动“redis-3.2.2.gem”。 08、把“redis-3.2.2.gem”放到ruby环境下进行驱动,在所在的目录运行【gem install --local redis-3.2.2.gem】 09、把redis-trib.rb集群工具放在redis目录下,使用此工具创建集群 10、创建Redis集群redis-trib.rb create --replicas 0 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 127.0.0.1:7006】 11、注意,如果第10步没有反应也不报错,在redis-trib.rb命令前面使用ruby 【ruby redis-trib.rb create --replicas.........】 12、最后配上别人的博客【http://www.cnblogs.com/tommy-huang/p/6240083.html】 。。。。。。。。。。。。。。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值