redis介绍 (9) window 下redis的集群

前言:

  前段时间我在centos上搭建过一次redis集群,那是借助ruby搭建,这次我介绍一种纯redis集群命令的方式去搭建【最后我会简单介绍ruby搭建】。

redis集群搭建(三主三备):

  准备工作:

    第一步:下载redis

      在这我用的是

    第二步:创建一个集群存放的目录 redis-cluster  .把下载好的redis  cp进去,然后修改配置文件。

      注意:windox版本的redis的配置文件  是  redis.windows-service.conf,下面我来进行改造一下,把每个实例文件夹下的redis.windows-service.conf   修改为 redis +端口.conf的形式。如图

           

      修改redis7771.conf文件:主要修改:

         

         

      修改好一个redis 后,再cp出来5份,分别叫redis 7772 | 7773 | 7774 | 7775 | 7776    如图:

        

    这些都修改好之后,我们的准备工作就算完成了。

  集群配置:

    第三步:启动7771 --7773 的三台redis作为集群的master节点。

      到指定redis文件夹下执行

        redis-server.exe redis7771.conf
        redis-server.exe redis7772.conf
        redis-server.exe redis7773.conf

      

    第四步:将redis实例添加到集群中: 【关于集群的命令后面我都会贴出来】

      启动7771的客户端:

        

      添加集群节点:主要是通过用cluster meet <host> <port>给集群添加节点,例如以下:  

              

        cluster nodes出现上面的3行记录就表示meet成功,标识myself的是client正在连接的redis实例。 能够通过cluster forget清除集群中的某个实例。

    第五步:分配卡槽  solts  (ruby  启动集群时候就会均分我们的卡槽,但是用redis命令启动集群不会)

      修改nodes-7771  ----  3  .conf文件

      

    修改好配置文件,重启redis,看看卡槽是否生效。(这个我配置好之后没重启也生效了,为了保险起见,建议重启一下)

      

    到这,主节点基本上配置好了。

    注意:如今存在这样一个问题:假设某个master节点挂掉的话,那么这个集群就不可用了,所以我们如今为集群中的3个master实例各启一个slave实例做主备。

   第六步:为每个master节点配置一个slave节点,做主备,当主节点宕机时,备节点自动切换上来。

        现在我们准备的7774--7776那是实例派上用场了,下面启动三个redis。

        

      在7771 上把这三个点加到集群中。

        

     最后用cluster replicate <nodeid>将7774、7775、7776 分别挂到7771、7772、7773上:

        

  到这,三主三备就搭建好了,当主节点宕机时,从节点就会变成主节点对外服务。测试一下。关闭7772后  7775就应该变成主节点。如图:

      

cluster 命令: 

## 集群(cluster)
cluster info 打印集群的信息
cluster nodes 列出集群当前已知的全部节点(node)。以及这些节点的相关信息。
## 节点(node)
cluster meet <ip> <port> 将 ip 和 port 所指定的节点加入到集群其中。让它成为集群的一份子。
cluster forget <node_id> 从集群中移除 node_id 指定的节点。
cluster replicate <node_id> 将当前节点设置为 node_id 指定的节点的从节点。
cluster SAVECONFIG 将节点的配置文件保存到硬盘里面。
## 槽(slot)
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)。
## 键(key)
cluster KEYSLOT <key> 计算键 key 应该被放置在哪个槽上。
cluster COUNTKEYSINSLOT <slot> 返回槽 slot 眼下包括的键值对数量。
cluster GETKEYSINSLOT <slot> <count> 返回 count 个 slot 槽中的键

redis集群升级:

   上面那些介绍的是redis集群的搭建,一步一步成功的,但是上面每次都要启动服务的命令是不是很不爽,为啥我不把它做成window服务,让他们随系统自启动呢。linux也可以做成自启动的哦。单节点的redis做成自启动可以参考 window下把redis发布成服务

  下面我介绍:把启动命令做成服务:

    

# 发布成服务(这些命令要到各redis文件夹下去执行。如果大家嫌麻烦,可以使用绝对路径,在命令行就都干了)
redis-server.exe --service-install redis7771.conf --service-name redis7771
redis-server.exe --service-install redis7772.conf --service-name redis7772
redis-server.exe --service-install redis7773.conf --service-name redis7773
redis-server.exe --service-install redis7774.conf --service-name redis7774
redis-server.exe --service-install redis7775.conf --service-name redis7775
redis-server.exe --service-install redis7776.conf --service-name redis7776

#服务启动
redis-server.exe --service-start --service-name redis7771
redis-server.exe --service-start --service-name redis7772
redis-server.exe --service-start --service-name redis7773
redis-server.exe --service-start --service-name redis7774
redis-server.exe --service-start --service-name redis7775
redis-server.exe --service-start --service-name redis7776

# 停止服务
redis-server.exe --service-stop --service-name redis7771
redis-server.exe --service-stop --service-name redis7772
redis-server.exe --service-stop --service-name redis7773
redis-server.exe --service-stop --service-name redis7774
redis-server.exe --service-stop --service-name redis7775
redis-server.exe --service-stop --service-name redis7776

# 删除服务
redis-server.exe --service-uninstall --service-name redis7771
redis-server.exe --service-uninstall --service-name redis7772
redis-server.exe --service-uninstall --service-name redis7773
redis-server.exe --service-uninstall --service-name redis7774
redis-server.exe --service-uninstall --service-name redis7775
redis-server.exe --service-uninstall --service-name redis7776

  就这样,以后频繁的启动redis服务就可以在window服务中进行了。不用再去敲命令了

原文地址:https://www.cnblogs.com/huhongy/p/9680882.html

时间: 2024-10-29 12:31:08

redis介绍 (9) window 下redis的集群的相关文章

【hadoop】——window下连接hadoop集群基础超详细版

1.Hadoop开发环境简介 1.1 Hadoop集群简介 Java版本:jdk-6u31-linux-i586.bin Linux系统:CentOS6.0 Hadoop版本:hadoop-1.0.0.tar.gz 1.2 Windows开发简介 Java版本:jdk-6u31-windows-i586.exe Win系统:Windows 7 旗舰版 Eclipse软件:eclipse-jee-indigo-SR1-win32.zip | eclipse-jee-helios-SR2-win32

window下redis的安装和创建redis启动服务

目录 window下redis的安装和部署 1.下载 2.解压下载的redis压缩包(位置随意,自己知道在哪里就行),里面的文件大概如下: 3.进入redis的解压目录下,进入cmd, 执行以下命令: 4. 启动redis服务 5. 最后,进入redis 额外的(把redis添加到环境变量中去) window下redis的安装和部署 1.下载 github地址: https://github.com/MicrosoftArchive/redis/releases 2.解压下载的redis压缩包(

Redis介绍 &amp;&amp; Java客户端操作Redis

Redis介绍 && Java客户端操作Redis 本文内容 redis介绍 redis的 shell 客户端简介 redis的 java 客户端简介 环境配置 redis 2.8.17 64bit JDK1.6 redis介绍 大多数时候,我们都将 redis 称作是内存数据库,它在运行过程中,将键值对信息存储在内存中,同时在后台以异步的形式写入本地数据库中(默认是:dump.rdb,在 redis.conf 中配置,如果需要考虑安全的持久化需求需要开启 AOF 功能,详细介绍可以查看这

ruby-2.4.6和redis-4.1.3.gem环境下的redis-cluster集群中的bug

bug场景说明:ruby-2.4.6和redis-4.1.3.gem环境下的redis-cluster集群中,在移除redis-cluster集群中含有数据的节点时出现的bug.下面详细说明下bug出现的场景. redis-cluster移除节点:和节点添加一样,移除节点也有移除主节点,从节点. 1.移除主节点 移除节点使用redis-trib的del-node命令, redis-trib del-node 127.0.0.1:7002 ${node-id} 127.0.0.1:7002是red

集群介绍,keepalived介绍,keepalived配置高可用集群

Linux集群概述 根据功能划分为两大类:高可用和负载均衡 高可用集群通常为两台服务器,一台工作,另外一台作为冗余,当提供服务的机器宕机,冗余将接替继续提供服务 实现高可用的开源软件有:heartbeat.keepalived (推荐) 负载均衡集群,需要有一台服务器作为分发器,它负责把用户的请求分发给后端的服务器处理,在这个集群里,除了分发器外,就是给用户提供服务的服务器了,这些服务器数量至少为2 实现负载均衡的开源软件有LVS.keepalived.haproxy.nginx,商业的有F5.

集群介绍 keepalived介绍 用keepalived配置高可用集群

一.集群介绍二.keepalived介绍VRRP协议是keepalived的一个核心,翻译为中文叫做:虚拟路由冗余协议keepalived是一个类似于layer3, 4 & 5交换机制的软件,也就是我们平时说的第3层.第4层和第5层交换.Keepalived是自动完成,不需人工干涉.简介Keepalived的作用是检测服务器的状态,如果有一台web服务器宕机,或工作出现故障,Keepalived将检测到,并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服务器工作正常后Ke

0110-如何给Kerberos环境下的CDH集群添加Gateway节点

Fayson的github: https://github.com/fayson/cdhproject 推荐关注微信公众号:"Hadoop实操",ID:gh_c4c535955d0f,或者扫描文末二维码. 1.文档编写目的 Gateway节点又称为客户端节点,通常用作访问Hadoop集群的接口机.它主要会部署一些客户端的配置,脚本命令,比如HDFS的core-site.xml,hdfs-site.xml以及hadoop的操作命令. 如果你使用的是Apache Hadoop,你只需要将h

Windows环境下搭建rabbitmq集群与负载

欢迎提出意见及建议,发现错误请留言 需要的文件下载: 百度云:链接:https://pan.baidu.com/s/1gpZa2NjNxviEnihjS2Viuw  提取码:39hi  复制这段内容后打开百度网盘手机App,操作更方便哦 蓝奏云:下载:https://www.lanzous.com/i54x5da 密码:cgb9 参考博文: https://blog.csdn.net/elie_yang/article/details/86657851 https://blog.csdn.net

Phoenix连接安全模式下的HBase集群

Phoenix连接安全模式下的HBase集群 HBase集群开启安全模式(即启用kerberos认证)之后,用户无论是用HBase shell还是Phoenix去连接HBase都先需要通过kerberos认证.如果没有通过kerberos认证,则hbase shell或phoenix都会报找不到kerberos tgt的错误而无法访问HBase(以下以phoenix为例): 对于HBase shell来说,用户可以在命令行先用kinit命令(kinit -kt <user keytab> &l