zoukankan      html  css  js  c++  java
  • centos7上的redis集群部署

    首先下载redis源码包

    http://download.redis.io/releases/

    我选择的是4.0.9版本

    在/home目录下解压

    tar -zxvf  redis-4.0.9.tar.gz

    cd 到/home/redis-4.0.9目录下编译

    make报错

    yum安装gcc

    yum install gcc -y

    再make产生新的错误

     执行命令

    make MALLOC=libc

    然后执行

    make install PREFIX=/home/redis-4.0.9/redis-cluster

    自动创建了redis-cluster/bin 目录,并将一些执行文件复制到bin目录

    将redis.conf配置文件复制到redis-cluster目录下

     在redis-cluster目录下创建7001 7002 7003 7004 7005 7006共6个目录

    并复制配置文件redis.conf,修改

      daemonize yes #后台启动
            port 7001 #修改端口号,从7001到7006
            cluster-enabled yes #开启cluster,去掉注释
            cluster-config-file nodes.conf #自动生成
            cluster-node-timeout 15000 #节点通信时间
            appendonly yes #持久化方式

    安装redis-trib所需的 ruby脚本

    注意:centos7默认的ruby版本太低(2.0),要卸载重装(最低2.2)

    yum install centos-release-scl-rh  //会在/etc/yum.repos.d/目录下多出一个CentOS-SCLo-scl-rh.repo源

    yum install rh-ruby23  -y

    scl  enable  rh-ruby23 bash //必要一步

    ruby -v

    gem install redis

    然后,redis-trib.rb这个二进制文件就可以使用了

    注意:

    登录的时候可能不能使用ruby相关命令,因此需要加载环境变量

    设置登录时自动启动ruby

    vi /etc/profile.d/rh-ruby23.sh

    #!/bin/bash
    scl enable rh-ruby23 bash           
    export PATH=$PATH:/home/redis-4.0.9/src  

    启动所有的redis节点

    bin/redis-server 7001/redis.conf

    bin/redis-server 7002/redis.conf

    bin/redis-server 7003/redis.conf

    bin/redis-server 7004/redis.conf

    bin/redis-server 7005/redis.conf

    bin/redis-server 7006/redis.conf

     注意:这里并没有创建集群

    使用redis-trib.rb创建集群

    注意:redis-trib.rb在redis/src目录下

    ./redis-trib.rb create --replicas 1 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

     使用create命令 --replicas 1 参数表示为每个主节点创建一个从节点,其他参数是实例的地址集合。

    redis集群的测试

    客户端连接集群redis-cli需要带上 -c ,redis-cli -c -p 端口号

    根据redis-cluster的key值分配,name应该分配到节点7002[5461-10922]上,上面显示redis cluster自动从7001跳转到了7002节点

    查看7002节点

    redis-trib.rb check 127.0.0.1:7002

    现在模拟7002节点故障

    kill -9 该节点的进程号

    然后再重新启用,会发现原来的从节点变成主节点,7002主节点变成从节点

  • 相关阅读:
    现代软件工程的构建之法
    How do I Check for Duplicate Items in a ListView?
    (转)aspxgridview记录的批量修改
    vs2010简体中文旗舰版智能感知,中文提示,英文提示变化的问题
    (转)怎样成为一名Android开发者
    It’s Not Too Late to Learn How to Code
    (转)手机屏幕VGA QVGA HVGA WVGA区别
    (转)CodeSmithSchemaExplorer类结构详细介绍
    (转)C#控件命名规范
    DataReader 绑定DataGridView的方式
  • 原文地址:https://www.cnblogs.com/zhangdajin/p/12925639.html
Copyright © 2011-2022 走看看