redis-cluster集群(windows下的单机集群)

构建之前的安装下载准备
1.下载redis
2.下载并安装 ruby 安装到: C:\Ruby22-*64  
3.下载ruby环境下的Redis的驱动
4.在git 上直接搜索 redis-trib.rb 克隆下来 将redis-trib.rb文件复制到redis的解压目录下
开始构建

  1. 按照端口不同创建文件夹,存放redis解压文件,并修改 redis.windows.conf 文件中的配置
   cluster-enabled yes 前面的#注释符号去掉
   appendonly no 改为 appendonly yes
   prot 6739 #修改端口号为对应文件夹的端口号

2.在每个文件加下创建start.bat文件,目的为了方便启动redis服务器,启动服务时读取配置文件

 	title redis-6379 
    redis-server.exe redis.windows.conf 

3.双击start.bat 开启所有的redis服务,在存放redis-trib.rb文件夹下执行创建集群的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
   --replicas 1 指定每个主节点配置1个从节点

4.连接集群客户端

  redis-cli -c -h 127.0.0.1 -p 6379 --连接集群中的节点127.0.0.16379
  -- -c:表示集群,如果不写在执行redis指令时会报错

master节点下线重启
master节点下线后,master节点下的slaver节点会自动变更为master节点。
重启之后会变为slaver节点,并且会是自己之前下上升为master节点的slaver节点。
重新创建集群:如果在之前创建过集群,想要重新在现有redis-server 上重新重建
1、将每个节点下aof、rdb、nodes.conf本地备份文件删除
2、清空数据库
3、重新执行创建集群命令

集群下的常用命令

cluster info  //打印集群的信息
cluster nodes //列出集群当前已知的所有节点( node),以及这些节点的相关信息。
cluster meet <ip> <port>  // ip:port 所指定的节点添加到集群当中,让它成为集群的一份子。
redis-trib.rb add-node <ip> <port>  //新增节点
cluster forget <node_id>  // 从集群中移除 node_id 指定的节点。
redis-trib.rb del-node  <ip> <port>  <node_id> // 删除节点。
cluster replicate <node_id>  // 将当前节点设置为 node_id 指定的节点的从节点。
cluster saveconfig//将节点的配置文件保存到硬盘里面。
cluster addslots <slot> [slot ...]  //将一个或多个槽( slot)指派( assign)给当前节点。
cluster delslots <slot> [slot ...]  // 移除一个或多个槽对当前节点的指派。
cluster flushslots // 移除指派给当前节点的所有槽,让当前节点变成一个没有指派任何槽的节点。
cluster setslot <slot> node <node_id>  //将槽 slot 指派给 node_id 指定的节点,如果槽已经指派给另一个节点,那么先让另一个节点删除该槽>,然后再进行指派。
cluster setslot <slot> migrating <node_id> // 将本节点的槽 slot 迁移到 node_id 指定的节点中。
cluster setslot <slot> importing <node_id>  // 从 node_id 指定的节点中导入槽 slot 到本节点。
cluster setslot <slot> stable // 取消对槽 slot 的导入( import)或者迁移( migrate)。
cluster keyslot <key> // 计算键 key 应该被放置在哪个槽上。
cluster countkeysinslot <slot>  //返回槽 slot 目前包含的键值对数量。
cluster getkeysinslot <slot> <count> // 返回 count 个 slot 槽中的键  

cluster集群的优点:

  • 无中心架构。
  • 可线性扩展强,节点可动态添加或删除。
  • 高可用性:部分节点不可用时,集群仍可用

cluster集群的缺点:

  • client 实现复杂,驱动要求实现 Smart Client。
  • 节点会因为某些原因发生阻塞(阻塞时间大于 clutser-node-timeout),被判断下线。
  • 数据通过异步复制,不保证数据的强一致性。k
  • slave 在集群中充当“冷备”,不能缓解读压力。
  • 事务操作支持有限,只支持多 key 在同一节点上的事务操作。
  • key 作为数据分区的最小粒度,不能将一个很大的键值对象如 hash、list 等映射到不同的节点。
  • 不支持多数据库空间,单机下的 redis 可以支持到 16 个数据库,集群模式下只能使用 1 个数据库空间,即 db0。
  • 复制结构只支持一层,从节点只能复制主节点,不支持嵌套树状复制结构。
  • 1
    点赞
  • 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、付费专栏及课程。

余额充值