zoukankan      html  css  js  c++  java
  • Redis3.0.7 cluster/集群 安装配置教程

    1、前言


    环境:CentOS-6.7-i386-LiveDVD 安装的CentOs系统

    节点: 6个节点,3个主节点、3个从节点(由于redis默认需要3个主节点,如果想每个主节点有一个从节点,这是最低配要求)

    配置:端口都采用默认的6379

    redis版本:目前官网最新的redis stable版本为:3.0.7(时间点:2016年3月10日)。

     

    2、获取源码
    在每台机器用命令:webget  http://download.redis.io/releases/redis-3.0.7.tar.gz  获取redis3.0.7源码到你linux某目录。

     

    3、修改配置
    执行命令 tar -xvf redis-3.0.7.tar.gz  解压得到redis-3.0.7文件夹,修改其下的redis.conf,主要修改下面几项:

    daemonize yes                                          # redis默认不是后台启动,这里修改成后台启动
    cluster-enabled yes                                    # 允许redis支持集群模式
    cluster-config-file nodes.conf                         # 节点配置文件
    cluster-node-timeout 15000                             # 节点超时毫秒
    appendonly yes
    #port 7000 #如果你需要自定义端口可以用这个选项

    注意:6个节点下的redis.conf都需要修改,可以修改一个之后拷贝过去。

     

    4、编译源码
    然后在6个节点的redis-3.0.7目录下执行 make 命令,编译源码,编译好后会在src文件夹生成redis-server等二进制文件

     

    5、启动实例
    在6个节点的redis-3.0.7目录下分别执行命令 src/redis-server,默认会使用redis.conf配置 ,这样每个节点就启动了一个实例。

     

    6、搭建redis集群(在其中一个节点操作就可以了)
           通过使用 Redis 集群命令行工具 redis-trib 创建集群, redis-trib 位于 Redis 源码的 src 文件夹中, 它是一个 Ruby 程序, 这个程序通过向实例发送特殊命令来完成创建新集群, 检查集群, 或者对集群进行重新分片(reshared)等工作。请先来到redis解压目录,cd src  进入src目录,然后执行下面命令:

    ./redis-trib.rb create --replicas 1 xxx.xxx.xxx.1:6379 xxx.xxx.xxx.2:6379 xxx.xxx.xxx.3:6379 xxx.xxx.xxx.4:6379 xxx.xxx.xxx.5:6379 xxx.xxx.xxx.6:6379

    注意ip修改成自己的~~
    命令的意义如下:
        给定 redis-trib.rb 程序的命令是 create , 这表示我们希望创建一个新的集群。
        选项 --replicas 1 表示我们希望为集群中的每个主节点创建一个从节点。
        之后跟着的其他参数则是实例的地址列表, 我们希望程序使用这些地址所指示的实例来创建新集群。

    简单来说, 以上命令的意思就是让 redis-trib 程序创建一个包含三个主节点和三个从节点的集群。

    接着, redis-trib 会打印出一份预想中的配置给你看, 如果你觉得没问题的话, 就可以输入 yes , redis-trib 就会将这份配置应用到集群当中:

    >>> Creating cluster
    Connecting to node xxx.xxx.xxx.1:6379: OK
    Connecting to node xxx.xxx.xxx.2:6379: OK
    Connecting to node xxx.xxx.xxx.3:6379: OK
    Connecting to node xxx.xxx.xxx.4:6379: OK
    Connecting to node xxx.xxx.xxx.5:6379: OK
    Connecting to node xxx.xxx.xxx.6:6379: OK
    >>> Performing hash slots allocation on 6 nodes...
    Using 3 masters:
    xxx.xxx.xxx.1:6379
    xxx.xxx.xxx.2:6379
    xxx.xxx.xxx.3:6379
    xxx.xxx.xxx.1:6379 replica #1 is xxx.xxx.xxx.4:6379
    xxx.xxx.xxx.2:6379 replica #1 is xxx.xxx.xxx.5:6379
    xxx.xxx.xxx.3:6379 replica #1 is xxx.xxx.xxx.6:6379
    M: 9991306f0e50640a5684f1958fd754b38fa034c9 xxx.xxx.xxx.1:6379
    slots:0-5460 (5461 slots) master
    M: e68e52cee0550f558b03b342f2f0354d2b8a083b xxx.xxx.xxx.2:6379
    slots:5461-10921 (5461 slots) master
    M: 393c6df5eb4b4cec323f0e4ca961c8b256e3460a xxx.xxx.xxx.3:6379
    slots:10922-16383 (5462 slots) master
    S: 48b728dbcedff6bf056231eb44990b7d1c35c3e0 xxx.xxx.xxx.4:6379
    S: 345ede084ac784a5c030a0387f8aaa9edfc59af3 xxx.xxx.xxx.5:6379
    S: 3375be2ccc321932e8853234ffa87ee9fde973ff xxx.xxx.xxx.6:6379
    Can I set the above configuration? (type 'yes' to accept): yes


    7、测试集群
    redis-cli -c -h xxx.xxx.xxx.1(集群中任意一个ip) -p 6379

     

    8、附

    好吧,最后我承认我是用虚拟机测试的,并且在单台虚拟机机器上启动6个实例,而以上是接近生产的配置流程,方便参考。下面配上一些图,是我当时测试的实际情况,如下

     

    启动集群:

     

    让各个节点开始互相通讯:

     

    测试集群:

     

    转载请注明:http://www.cnblogs.com/langtianya/p/5254856.html

    参考:http://blog.csdn.net/jthink_/article/details/50373959

    官方文档中文版(翻译):教程

    官方英文版请看:Redis cluster tutorial

    相关:安装 rubygems

     Redis中sentinel集群的搭建和Jedis测试图文教程[一]

     
  • 相关阅读:
    微信小程序,本地和真机测试都是好的,但体验版扫码显示空白页
    redis cluster 集群从节点无法读取值 (error) MOVED 原因和解决方案
    mysql笔记
    微信小程序对接通联支付
    解决win7凭据重启后消失的问题
    友链
    第三方登录--QQ登录--单体应用
    【笔记-错误】springCloud-alibaba-feign集成sentinel的启动报错
    【笔记】 springCloud--Alibaba--服务注册和服务发现
    【笔记】springCloud--Alibaba--nacos介绍----启动报错解决方案
  • 原文地址:https://www.cnblogs.com/langtianya/p/5254856.html
Copyright © 2011-2022 走看看