zoukankan      html  css  js  c++  java
  • redis 在windows 集群

    前言:为什么自己要花时间写一篇redis集群文章,网上众多的文章大都是思路正确,但是细节不足,这里写一篇文章记录自己部署时候遇到的问题,当下次再部署的时候避免跳入重复的坑。

    上篇文章(http://www.cnblogs.com/blogxiao/p/8485606.html)已经讲述了关于redis单实例的安装,本篇文章讲述redis 的集群。

    redis集群:

      (一)环境:windows7

            Redis-x64-3.2.100(windows版,下载地址在上面的文章中)

          RubyInstaller :(https://rubyinstaller.org/) 这个工具是redis集群的工具

      (二)部署

       1.redis官方建议第一次部署的时候至少六个节点,三主三从。所以先将下载下来的redis文件夹复制六份,文件的命名用端口名,建议redis 的文件夹放在根目录下。本片文章是redis垂直集群,单台主机部署多个redis实例

      

      提示:因为上一次安装了单实例的redis,并且将redis部署到windows的服务上,为了避免不必要的麻烦,先删除先前的redis服务。在dos命令中键入:sc delete redis    即可删除redis

      2. 开始配置redis

        

       红框的两个是redis 的核心配置文件。这两个文件配置要一样,在文件中找到如下几个配置

       port 6379(redis 的端口号,对应文件夹的端口号)

       bind 127.0.0.1 (绑定地址,本机测试的时候用环回地址可以,但是当别人也要访问的时候最好用ip,防火墙也要关闭)

       cluster-enabled yes(开启集群模式)

       cluster-config-file nodes-6379.conf (集群的配置文件,这个不用手动创建,在redis服务启动的时候,会自动生成)

       cluster-node-timeout 5000  (连接超时时间)

       appendonly yes  (每次都将数据持久化)

    其他端口下的文件也如此配置,其他的redis实例也如此配置,配置成功一个之后建议测试redis服务是否能启动

    注意在这些配置文件前面一定不要有空格,会启动报错,即使#前面也不能有空格

    配置成功实例将redis设置为window 的服务命令:redis-server --service-install redis.windows.conf  --server-name redis6379

    在对应的实例文件夹下启动redis服务键入:redis-server redis.windows.conf ,也可以在服务管理右键启动,但是这种启动一旦保存将难找错误信息,建议用命令启动

    注意红框标注的,redis文件夹下有两个配置文件,我使用了不带-service 的,这两者的区别我还不清楚

    启动成功成功之后将会在redis 文件夹下看到多出来一个

    这个配置文件就是记录集群主从节点的信息:节点id ,分配的slot 的份额,主从标识,以及主从的映射关系

    这是已经做完集群之后的,没部署集群的时候,主从关系不会再这里显示

    安装ruby

      rubyinstall 地址:https://rubyinstaller.org/  下载之后安装,所有的插件都勾选。一直点击下一步。

      然后gem 安装redis,在redis 目录中 键入命令:gem install redis

    下载redis-trib.rb 文件,这个文件是创建集群的命令,还有其他的一些操作命令后续讲解

    下载地址https://redis.io/download 下载之后在src文件中查找,然后拷贝到redis目录下

    在这个文件夹下执行 

    ruby redis-trib.rb create --replicas 1 127.0.0.1:6379 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   

    --replicas 1 :表示将每个主节点后跟一个从节点

    这行命令输入完毕之后,再输入yes,到此redis部署成功

     

      

  • 相关阅读:
    ListView的CheckBox实现全部选中/不选中
    JTA 深度历险
    缓存更新的套路是怎样的?
    对ThreadLocal实现原理的一点思考
    透彻理解Spring事务设计思想之手写实现
    JAVA 线程池架构浅析
    ThreadPoolExecutor 线程池浅析
    MySql实现sequence功能的代码
    MySql事务select for update及数据的一致性处理讲解
    MySQL四种事务隔离级别详解
  • 原文地址:https://www.cnblogs.com/blogxiao/p/8639116.html
Copyright © 2011-2022 走看看