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
  • 相关阅读:
    如何使用RabbitMQ实现事件总线
    一起学Vue:UI框架(elementui)
    一起学Vue:访问API(axios)
    一起学Vue:CRUD(增删改查)
    一起学Vue:路由(vuerouter)
    如何使用IMemoryCache实现内存缓存
    手把手教你AspNetCore WebApi:Nginx(负载均衡)
    一起学Vue:状态管理(Vuex)
    自我介绍
    牛客练习赛74AB
  • 原文地址:https://www.cnblogs.com/demonzk/p/8446180.html
Copyright © 2011-2022 走看看