zoukankan      html  css  js  c++  java
  • 【Linux】【Services】【Cache】使用Sentinel搭建高可用Redis

    1. 简介

    1.1. 一些基础概念请参考 http://www.cnblogs.com/demonzk/p/7453494.html

    1.2. 几种常用的集群方式。

    -- Redis Sentinel:本次使用的方式

    -- Zookeeper+Redis:比较重量级,需要在代码层实现

    -- Codis:豌豆荚在使用的方式

    -- 

    2. 环境:

    2.1.机器列表

    功能与组件 机器名 服务IP 管理IP Processor Cores RAM Storage 备注
    Mongo/Redis/RabbitMQ/Memorycached HCTJOSCACHE01 10.30.2.45 172.16.0.45        
    Mongo/Redis/RabbitMQ/Memorycached HCTJOSCACHE02 10.30.2.46 172.16.0.46        
    Mongo/Redis/RabbitMQ/Memorycached HCTJOSCACHE03 10.30.2.47 172.16.0.47        

    3. 安装与配置:

    3.1. redis-server

    yum默认安装

    #安装redis时候会默认安装redis-server和redis-sentinel
    yum -y install redis
    #这是一个由Ruby写的管理工具,可以不装,有机会再后面详解
    yum -y install redis-trib

    创建一个单独的分区给redis存数据

    lvcreate -L 10G -n lv_redis vg_system
    
    mkfs.xfs /dev/mapper/vg_system-lv_redis
    
    mkdir -p /data/redis
    
    echo -e "/dev/mapper/vg_system-lv_redis	/data/redis		defauts	0 0" >> /etc/fstab
    
    mount -a
    
    chown redis:redis /data/redis

    修改配置文件/etc/redis.conf

    #注释掉这一条
    #bind 127.0.0.1
    
    #如果开启这个的话,其他机器连接进来的请求是无法执行的
    protected-mode no
    daemonize yes
    #写入到本地文件
    appendonly yes
    #AOF和RDB文件的位置,默认是/var/lib/redis
    dir /data/redis
    
    #从节点需要开启这条指令
    slaveof 10.30.2.45 6379

    按照顺序从10.30.2.45开始启动服务

    systemctl start redis && systemctl enable redis

    在10.30.2.45上检查下节点状态

    [root@hctjoscache03 ~]# redis-cli -h 10.30.2.45
    10.30.2.45:6379> info replication
    # Replication
    role:master
    connected_slaves:2
    slave0:ip=10.30.2.46,port=6379,state=online,offset=869,lag=1
    slave1:ip=10.30.2.47,port=6379,state=online,offset=883,lag=0
    master_repl_offset:883
    repl_backlog_active:1
    repl_backlog_size:1048576
    repl_backlog_first_byte_offset:2
    repl_backlog_histlen:882

    3.2. redis-sentinel

    修改/etc/redis-sentinel.conf

    sentinel monitor mymaster 10.30.2.45 6379 2

    启动服务

    systemctl start redis-sentinel && systemctl enable redis-sentinel
  • 相关阅读:
    [基础]编程环境配置
    MonoDevelop line endings
    Unity手机平台播放影片
    [3D跑酷] GUIManager UI管理
    [3D跑酷] UI事件处理系统
    [3D跑酷] AudioManager
    NGUI学习笔记汇总
    Unity3D开发之搭建Mac OS开发环境
    Unity键值(KeyCode)
    Unity3D多人协作开发环境搭建
  • 原文地址:https://www.cnblogs.com/demonzk/p/8446180.html
Copyright © 2011-2022 走看看