zoukankan      html  css  js  c++  java
  • 配置redis三主三从

    主从环境

    centos7.6
    redis4.0.1

    192.168.181.139:6379 192.168.181.136:6379
    192.168.181.136:6380 192.168.181.137:6380
    192.168.181.137:6381 192.168.181.139:6381

    集群实例配置

    这里展示192.168.181.139:6379节点的,其他配置修改ip、端口号和文件名

    bind 192.168.181.139
    port 6379
    pidfile /var/run/redis-master-6379.pid
    logfile "/data/logs/redis/redis-master-6379.log"
    dbfilename dump-master-6379.rdb
    dir "/data/redis"
    appendonly yes
    appendfilename "appendonly-master-6379.aof"
    aof-use-rdb-preamble yes
    cluster-enabled yes
    cluster-config-file nodes-master-6379.conf
    cluster-node-timeout 10000
    

    启动实例

    完成各个实例启动,该过程略,自行完成实例启动

    配置三主三从

    配置过程有两种方法,第一个是手动配置,第二个是采用redis-trib.rb工具配置,这先用手动配置。集群配置过程分为节点握手数据槽分配以及主从关系配置三个操作构成。

    手动配置三主三从

    以下操作在192.168.181.139主机上完成,集群信息共享,所以只用一个节点操作即可

    节点握手

    # 实例发现
    redis-cli -h 192.168.181.139 -p 6379 cluster meet 192.168.181.139 6379
    redis-cli -h 192.168.181.139 -p 6379 cluster meet 192.168.181.139 6381
    redis-cli -h 192.168.181.139 -p 6379 cluster meet 192.168.181.136 6380
    redis-cli -h 192.168.181.139 -p 6379 cluster meet 192.168.181.136 6379
    redis-cli -h 192.168.181.139 -p 6379 cluster meet 192.168.181.137 6381
    redis-cli -h 192.168.181.139 -p 6379 cluster meet 192.168.181.137 6380
    

    *数据槽分配

    # 分配数据槽
    for i in {0..5400}; do redis-cli -h 192.168.181.139 -p 6379 cluster addslots $i; done > /dev/null
    for i in {5401..11000}; do redis-cli -h 192.168.181.136 -p 6380 cluster addslots $i; done > /dev/null
    for i in {11001..16383}; do redis-cli -h 192.168.181.137 -p 6381 cluster addslots $i; done > /dev/null
    

    到这一步,一个三主的redis集群已经搭建起来了,接下来配置主从关系,注意,尽量不要让一对主从关系出现在同一个系统上,避免系统故障带来损失
    配置集群主从关系是通过实例ID的来配置的,实例ID是唯一性的,查看集群节点,注意查看节点ID,接下来配置主从关系需要用到

    # 查看节点ID
    [root@ware2 ~]# redis-cli -h 192.168.181.139 -p 6379 cluster nodes
    0b03d2098d7cb7e10d540747eed9b2804c424d18 192.168.181.136:6380@16380 master - 0 1551059531000 2 connected 5401-11000
    4bf34e9120d54a4d3d609fdea3cf5613787f0d2d 192.168.181.139:6379@16379 myself,master - 0 1551059528000 1 connected 0-5400
    ea9e5923466ee0df2447f10c3835ddf1041c0d7f 192.168.181.137:6380@16380 master - 0 1551059531661 5 connected
    f0e6d8f9d84209623613dd48a00c8c263b5ecc88 192.168.181.137:6381@16381 master - 0 1551059531000 0 connected 11001-16383
    c32bb72dda43f27dd9554cfda556de10ea1220cf 192.168.181.139:6381@16381 master - 0 1551059532000 4 connected
    3c2e20644c38878cceb5e4b89a9c9ba7adf03d2a 192.168.181.136:6379@16379 master - 0 1551059532669 3 connected
    

    配置主从关系

    # 192.168.181.136:6379作为4bf34e9120d54a4d3d609fdea3cf5613787f0d2d(192.168.181.139:6379)的从实例,以下类似
    redis-cli -h 192.168.181.136 -p 6379 cluster replicate 4bf34e9120d54a4d3d609fdea3cf5613787f0d2d
    redis-cli -h 192.168.181.137 -p 6380 cluster replicate 0b03d2098d7cb7e10d540747eed9b2804c424d18
    redis-cli -h 192.168.181.139 -p 6381 cluster replicate f0e6d8f9d84209623613dd48a00c8c263b5ecc88
    

    配置主从关系

    到这一步,集群配置完成,可以用以下命令分别查看主从状态和集群信息

    # 主从状态
    redis-cli -h 192.168.181.139 -p 6379 cluster nodes
    # 集群信息
    redis-cli -h 192.168.181.139 -p 6379 cluster info
    

    使用redis-trib.rb创建集群

    该工具在redis安装后的src目录,对应配置redis集群非常方便,需要安装ruby(version>2.2)环境
    本次实验在centos7.6,但自带的ruby2.0版本低于要求,需要手动安装ruby

    安装ruby

    # 安装rvm
    # 通过gpg2导入密钥
    gpg2 --keyserver hkp://keys.gnupg.net --recv-keys D39DC0E3
    curl -sSL https://rvm.io/pkuczynski.asc | gpg2 --import -
    https://rvm.io/mpapis.asc | gpg2 --import -
    curl -L get.rvm.io | bash -s stable
    source /usr/local/rvm/scripts/rvm
    

    rvm常见操作

    # 查看rvm库中已知的ruby版本
    rvm list known
    # 安装一个ruby版本
    rvm install 2.3.3
    # 使用一个ruby版本
    rvm use 2.3.3
    # 设置默认版本
    rvm use 2.3.3 --default
    # 卸载一个已知版本
    rvm remove 2.0.0
    # 安装redis,这一步很关键
    gem install redis
    

    到这一步已经可以使用redis-trib.rb配置集群了
    使用redis-trib.rb create命令完成节点握手和槽分配过程
    注意:指定 主从节点时,前三个为主节点;后三个为对应从节点

    # 在这之前重新搭配环境,删除文件,然后启动各个实例
    redis-trib.rb create --replicas 1 192.168.181.139:6379 192.168.181.136:6380 192.168.181.137:6381 192.168.181.139:6381 192.168.181.136:6379 192.168.181.137:6380
    
  • 相关阅读:
    二、计算属性和侦听器
    JS实现 带有话题的文本编辑 + 图片编辑(下)
    JS实现 带有话题的文本编辑 + 图片编辑(上)
    js 监听浏览器切换标签栏 之 更改标题
    Element-ui 自定义表单验证规则
    仿照旧版支付宝生活服务模块-常用应用的添加与删减(下)
    仿照旧版支付宝生活服务模块-滚动定位 + 点击定位(上)
    vue 中实现九宫格抽奖
    vue 中实现大转盘抽奖
    vue 中实现刮刮卡
  • 原文地址:https://www.cnblogs.com/AutoSmart/p/10429423.html
Copyright © 2011-2022 走看看