redis cluster搭建

丶灬走出姿态 提交于 2020-12-19 16:35:31

一、搭建准备

  1. 要让集群正常工作至少需要3个主节点,在这里我们要创建6个redis节点,其中三个为主节点,三个为从节点,对应的redis节点的ip和端口对应关系如下(为了简单演示都在同一台机器上面)

    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

    127.0.0.1:7005

二、下载最新版本

  1. wget http://download.redis.io/releases/redis-3.0.0.tar.gz
  2. 解压安装

    cd redis- 3.0 . 0
    make && make install
  3. 创建存放多个实例的目录

     

    mkdir /data/cluster -p
    cd /data/cluster
    mkdir  7000  7001  7002  7003  7004  7005
  4. 修改配置文件

    cp redis-3.0.0/redis.conf /data/cluster/7000/
    port  7000
    protected -mode no
    daemonize yes
    cluster-enabled yes
    cluster-config-file nodes.conf
    cluster-node-timeout  5000
    appendonly yes
    # bind  127.0 . 0.1 (默认注释掉,不要开启)
     
     
    备注:
    文件中的 cluster-enabled 选项用于开实例的集群模式, 而 cluster-conf-file 选项则设定了保存节点配置文件的路径, 默认值为nodes.conf 。
    其他参数相信童鞋们都知道。节点配置文件无须人为修改, 它由 Redis 集群在启动时创建, 并在有需要时自动进行更新。
    修改完成后,把修改完成的redis.conf复制到 7001 - 7005 目录下,并且端口修改成和文件夹对应。
  5. 启动6个redis实例。

    cd /data/cluster
    for  i in { 0 .. 5 }; do  cd  700 $i && ./redis-server ./redis.conf && cd ..;done
     
     
    查看进程:
    ps -ef | grep redis

三、创建集群

  1. 安装集群
    yum install ruby rubygems -y

    安装gem-redis
    下载地址:https://rubygems.org/gems/redis/versions/3.0.0

    gem install -l redis-3.0.0.gem
  2. 复制集群管理程序到/usr/local/bin

    cp redis-3.0.0/src/redis-trib.rb /usr/local/bin/redis-trib
  3. 创建集群

    redis-trib create --replicas  1  192.168 . 1.133 : 7000  192.168 . 1.133 : 7001  192.168 . 1.133 : 7002  192.168 . 1.133 : 7003  192.168 . 1.1337004  192.168 . 1.133 : 7005
    备注:
    192.168 . 1.133 为本机的ip,不能用 127.0 . 0.1 ,否则jedis连接异常。
     
     
    命令的意义如下:
    给定 redis-trib.rb 程序的命令是 create , 这表示我们希望创建一个新的集群。
    选项 --replicas  1  表示我们希望为集群中的每个主节点创建一个从节点。
    之后跟着的其他参数则是实例的地址列表, 我们希望程序使用这些地址所指示的实例来创建新集群。

四、集群客户端

  1. redis-cli -c -p 7001
  2. redis-cli -c -p 7001 cluster nodes

     

备注:参考http://www.cnblogs.com/gomysql/p/4395504.html

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!