zoukankan      html  css  js  c++  java
  • Windows环境下Redis集群部署

    前期准备

    文中所用到的工具,打包下载:https://download.csdn.net/download/yangdaboke/12573156

    1.下载windows版本的Redis

    下载地址:https://github.com/microsoftarchive/redis/releases

    下载版本:Redis-x64-3.0.504.zip

    下载解压后拷贝至自定义文件夹,例如C://Redis

    2.下载和安装RubyInstaller

    下载地址:http://rubyinstaller.org/downloads/

    下载版本:Ruby+Devkit 2.6.6-1 (x64) 

     安装Ruby,注意全部勾选

     3.下载redis-trib.rb

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

     4. 下载redis-3.2.1.gem

    下载地址:https://rubygems.org/

    搭建Redis 集群

    要让集群正常运作至少需要三个主节点,不过在刚开始试用集群功能时, 强烈建议使用六个节点: 其中三个为主节点, 而其余三个则是各个主节点的从节点。

    主节点崩溃,从节点的Redis就会提升为主节点,代替原来的主节点工作,崩溃的主Redis回复工作后,会成为从节点

    1). 创建Redis集群目录

    在redis安装的根目录下创建6个以端口命名的文件夹

    将安装的redis文件夹中的redis.windows.conf以及redis-server,分别拷贝到新建的六个文件夹中

    2). 更改配置

    将六个文件夹下的redis.windows.conf文件中以下属性进行修改:

    port 9000  
    cluster-enabled yes
    cluster-config-file nodes.conf
    cluster-node-timeout 15000
    appendonly yes

    3). 启动6个redis服务

    进入每个端口命名的文件夹下启动服务 

    启动命令:redis-server.exe redis.windows.conf

    或者用下面的命令创建一个bat文件启动

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

     其他几个目录同上(端口对应各自的端口)

    然后把把这几个节点都启动起来

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

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

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

    5 安装集群脚本redis-trib

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

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

    集群的命令为 

    ruby redis-trib.rb create --replicas 1 127.0.0.1:9000 127.0.0.1:9001 127.0.0.1:9002 127.0.0.1:9003 127.0.0.1:9004 127.0.0.1:9005

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

    6. 连接集群进行测试

    连接集群的指令:

    方式1:
    redis-cli.exe -h 127.0.0.1 -c -p 9000

       方式2:

    redis-cli.exe -c -p 9000


    执行set 命令我们能看到集群起效,把值存到 9001 节点上了


    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上的配置就完成了

  • 相关阅读:
    使用Jmeter对SHA1加密接口进行性能测试
    Introduction of JSON Processing and binding in JavaEE
    RE validation in Java EE(java.util.regex.Pattern)
    Analysis of Hello2 source code
    Spring AOP Capability and Goal
    Mysql :Datatype
    MYSQL Backup & Recovery
    JavaEE Design Patter(2)
    Analysis JSON / XML、 Processing Model 、Extend to JAVA Design Model
    Session & Cookie
  • 原文地址:https://www.cnblogs.com/yangda/p/13227003.html
Copyright © 2011-2022 走看看