• redis多实例和高可用


    实验:多实例节点 10.220.5.65(三个实例)

               高可用节点:10.220.5.67

    创建目录,将三个实例文件都放在这个目录中

    [root@65 ~]# yum install redis -y
    [root@65~]# mkdir /redis/{6379,6380,6381} -pv

    查看目录

    [root@65 ~]# ls /redis
    6379  6380  6381 <<<三个实例所对应的端口号,为了方便理解这里每个文件名和对应的端口号一致

    将/etc/redis.conf文件复制到每一个目录下

    [root@65DRslave 6381]# cp /etc/redis.conf /redis/6379
    [root@65DRslave 6381]# cp /etc/redis.conf /redis/63780
    [root@65DRslave 6381]# cp /etc/redis.conf /redis/63781

    修改每一个配置文件

    [root@65DRslave 6381]# cp /etc/redis.conf /redis/6379
     80 protected-mode yes
    84 port 6379
     128 daemonize yes <<<启用后台运行模式
     150 pidfile /redis/6379/redis_6379.pid
     163 logfile /redis/6379/redis.log <<<日志文件
    200 #   save ""
     201 
     202 save 900 1
     203 save 300 10
     204 save 60 10000
    247 dir /redis/6379

    同理剩下两个配置文件和上边类似,只需该对应端口即可

    启动实例

    [root@65 ~]# redis-server /redis/6379/redis.conf 
    [root@65 ~]# redis-server /redis/6380/redis.conf 
    [root@65~]# redis-server /redis/6381/redis.conf 
    [root@65DRslave ~]# ss -tnl
    State       Recv-Q Send-Q          Local Address:Port                         Peer Address:Port              
    LISTEN      12     128                         *:6379                                    *:*                  
    LISTEN      0      128               10.220.5.65:6380                                    *:*                  
    LISTEN      0      128               10.220.5.65:6381                                    *:*         

    打开多个终端,分别登陆实例

    [root@65 ~]# redis-cli -h 10.220.5.65 -p 6379
    10.220.5.65:6379> 
    [root@65 ~]# redis-cli -h 10.220.5.65 -p 6380
    10.220.5.65:6380> 
    [root@65 ~]# redis-cli -h 10.220.5.65 -p 6381
    10.220.5.65:6381> 
    主从复制,让6381作为主,6379 和6380作为从

    10.220.5.65:6380> slaveof 10.220.5.65 6381
    OK
    10.220.5.65:6379> slaveof 10.220.5.65 6381
    OK
    在主端创建数据,在从节点查看是否被复制了过来
    10.220.5.65:6381>  set age 29
    OK                                     <<<主端
    10.220.5.65:6379> get age
    "29"                                  <<<从端,说明已经复制
    10.220.5.65:6380> get age
    "29"                                  <<<从端,说明已经复制

    主从复制已经做好,下面做redis的高可用

    redis的高可用是用redis-sentinel,默认在redis中,需要修改配置文件

    [root@67 ~]# vim /etc/redis-sentinel.conf 
    17 protected-mode no
    98 sentinel monitor mymaster 10.220.5.65 6381 1
    131 sentinel config-epoch mymaster 1

    启动redis-sentinel

    [root@67 ~]#  systemctl start redis-sentinel   <<<端口号为 26379
    [root@67 ~]# ss -tnl
    State       Recv-Q Send-Q          Local Address:Port                         Peer Address:Port              
    LISTEN      0      128                         *:26379                                   *:*                  
    LISTEN      0      128                         *:22                                      *:*                  
    LISTEN      0      128                        :::26379                                  :::*                  
    LISTEN      0      128                        :::22                                     :::*    

     登录redistribute-sentinel,并查看主从节点信息

    [root@67 ~]# redis-cli -h 10.220.5.67 -p 26379
    10.220.5.67:26379>sentinel masters  <<<主节点信息

    1) 1) "name"
    2) "mymaster"
    3) "ip"
    4) "10.220.5.65"
    5) "port"
    6) "6381" 
    .......

    10.220.5.67:26379>sentinel slaves master <<<从节点信息

    1) 1) "name"
    2) "10.220.5.65:6380"
    3) "ip"
    4) "10.220.5.65"
    5) "port"
    6) "6380"

    ....

    2) 1) "name"
    2) "10.220.5.65:6379"
    3) "ip"
    4) "10.220.5.65"
    5) "port"
    6) "6379"

    ....

     将主节点停掉,再看效果

    [root@65DRslave ~]# ps aux |grep redis
    redis 1169 0.3 0.7 142952 7320 ? Ssl 16:07 0:11 /usr/bin/redis-server 10.220.5.65:6379
    root 1255 0.0 0.0 107988 612 pts/2 T 16:12 0:00 tail -f /redis/6381/redis.log
    root 1288 0.3 0.7 142952 7504 ? Ssl 16:18 0:10 redis-server 10.220.5.65:6381
    root 1298 0.0 0.5 22128 5212 pts/1 S+ 16:19 0:00 redis-cli -h 10.220.5.65 -p 6379
    root 1338 0.3 0.5 142952 5440 ? Ssl 17:04 0:00 redis-server 10.220.5.65:6380
    root 1344 0.0 0.5 22124 5128 pts/0 S+ 17:04 0:00 redis-cli -h 10.220.5.65 -p 6380
    root 1346 0.0 0.0 112704 956 pts/2 R+ 17:04 0:00 grep --color=auto redis
    [root@65DRslave ~]# kill -9 1288

    在redis-sentinel端再次查看

    10.220.5.67:26379> sentinel masters
    1)  1) "name"
        2) "mymaster"
        3) "ip"
        4) "10.220.5.65"
        5) "port"
        6) "6379"  <<<此次主节点变成了 6379 ,这就是redis的高可用

    查看从节点信息

    10.220.5.67:26379> sentinel slaves mymaster
    1)  1) "name"
        2) "10.220.5.65:6381"
        3) "ip"
        4) "10.220.5.65"
        5) "port"
        6) "6381" 
    10) "s_down,slave,disconnected" <<<6381停掉后变成了从,状态是未连接
    2) 1) "name" 2) "10.220.5.65:6380" 3) "ip" 4) "10.220.5.65" 5) "port" 6) "6380"
















  • 相关阅读:
    ★《唐琅探案》后记【2】
    ★《唐琅探案》后记【2】
    《OD学hadoop》第一周0625 LINUX作业一:Linux系统基本命令(一)
    《OD学hadoop》第一周0626
    《OD学hadoop》mac下使用VMware Fusion安装centos
    《OD学hadoop》第一周0625
    《OD学hadoop》第二阶段Java编程基础
    《OD学hadoop》Linux基础
    《OD学hadoop》Hadoop前置
    《OD学算法》常用算法集合
  • 原文地址:https://www.cnblogs.com/bo-ke/p/9960407.html
Copyright © 2020-2023  润新知