zoukankan      html  css  js  c++  java
  • Redis入门实战(2)-安装

    本文主要介绍redis的安装,使用到的软件版本:Java 1.8.0_191、Redis 5.0.8、Centos 7.6。

    1、单机安装

    1.1、下载并解压redis

    下载地址:https://redis.io/download

    解压:tar zxvf redis-5.0.8.tar.gz

    1.2、编译安装并创建日志目录

    cd redis-5.0.8
    make

    mkdir logs

    1.3、修改配置文件redis.conf

    logfile "/home/hadoop/app/redis-5.0.8/logs/redis.log"
    daemonize on #启动守护进程
    requirepass 123456

    1.4、启动

    cd redis-5.0.8/src
    ./redis-server ../redis.conf

    2、主从模式安装

    2.1、规划

    ip 端口 主从
    10.49.196.20 6379
    10.49.196.21 6379
    10.49.196.22 6379

    2.2、在主节点上安装并分发到从节点

    10.49.196.20上安装:

    cd redis-5.0.8
    make

    mkdir logs

    修改redis.conf:

    bind 10.49.196.20 127.0.0.1
    logfile "/home/hadoop/app/redis-5.0.8/logs/redis.log" daemonize on requirepass 123456

    分发整个包到从节点:

    scp -r ./redis-5.0.8 hadoop@10.49.196.21:/home/hadoop/app
    scp -r ./redis-5.0.8 hadoop@10.49.196.22:/home/hadoop/app

    2.3、修改从节点配置文件redis.conf

    10.49.196.21:

    bind 10.49.196.21 127.0.0.1
    logfile "/home/hadoop/app/redis-5.0.8/logs/redis.log"
    daemonize on
    requirepass 123456
    slaveof 10.49.196.20 6379
    masterauth 123456

    10.49.196.22:

    bind 10.49.196.22 127.0.0.1
    logfile "/home/hadoop/app/redis-5.0.8/logs/redis.log"
    daemonize on
    requirepass 123456
    slaveof 10.49.196.20 6379
    masterauth 123456

    2.4、分别启动各节点

    cd redis-5.0.8/src
    ./redis-server ../redis.conf

    3、哨兵模式安装

    3.1、规划

    服务类型 ip 端口 主从
    redis 10.49.196.20 6379
    redis 10.49.196.21 6379
    redis 10.49.196.22 6379
    sentinel 10.49.196.20 26379  
    sentinel 10.49.196.21 26379  
    sentinel 10.49.196.22 26379  

    3.2、主从模式安装

    哨兵模式时在主从模式的基础上增加哨兵进程;主从模式的安装可以参考1.2

    3.3、哨兵配置

    在10.49.196.20、10.49.196.21、10.49.196.22上修改sentinel.conf:

    daemonize yes
    logfile "/home/hadoop/app/redis-5.0.8/logs/sentinel.log"
    sentinel monitor mymaster 10.49.196.20 6379 2  #sentinel monitor <主节点别名> <主节点host> <主节点端口> <票数>
    sentinel auth-pass mymaster 123456

    3.4、启动

    先启动各节点的redis服务,再启动各节点的sentinel服务:

    cd redis-5.0.8/src
    ./redis-sentinel ../sentinel.conf

    4、集群模式安装

    4.1、集群安装

    4.1.1、规划

    集群安装至少需要6个节点,规划如下:

    服务类型 ip 端口
    redis 10.49.196.20 7000
    redis 10.49.196.21 7000
    redis 10.49.196.22 7000
    redis 10.49.196.20 7001
    redis 10.49.196.21 7001
    redis 10.49.196.22 7001

    4.1.2、在10.49.196.20上编译安装并创建日志目录

    cd redis-5.0.8
    make

    mkdir logs

    4.1.3、修改redis.conf

    bind 10.49.196.20 127.0.0.1
    port 7000
    logfile "/home/hadoop/app/redis-5.0.8-7000/logs/redis.log"
    daemonize on 
    requirepass 123456
    cluster-enabled yes
    cluster-config-file nodes.conf
    cluster-node-timeout 15000
    appendonly yes
    masterauth 123456

    4.1.4、拷贝并分发redis

    在10.49.196.20上重命名redis安装目录并拷贝一个副本:

    mv redis-5.0.8 redis-5.0.8-7000
    cp -r redis-5.0.8-7000 redis-5.0.8-7001

    分发到10.40.196.21、10.40.196.22

    scp ./redis-5.0.8-7000 hadoop@10.40.196.21:/home/hadoop/app
    scp ./redis-5.0.8-7001 hadoop@10.40.196.21:/home/hadoop/app
    
    scp ./redis-5.0.8-7000 hadoop@10.40.196.22:/home/hadoop/app
    scp ./redis-5.0.8-7001 hadoop@10.40.196.22:/home/hadoop/app

    4.1.5、修改各redis副本redis.conf中绑定ip、端口、日志路径

    最终各配置文件如下

    10.49.196.20:/home/hadoop/app/redis-5.0.8-7000/redis.conf:

    bind 10.49.196.20 127.0.0.1
    port 7000
    logfile "/home/hadoop/app/redis-5.0.8-7000/logs/redis.log"
    
    daemonize on 
    requirepass 123456
    cluster-enabled yes
    cluster-config-file nodes.conf
    cluster-node-timeout 15000
    appendonly yes
    masterauth 123456

    10.49.196.20:/home/hadoop/app/redis-5.0.8-7001/redis.conf:

    bind 10.49.196.20 127.0.0.1
    port 7001
    logfile "/home/hadoop/app/redis-5.0.8-7001/logs/redis.log"
    
    daemonize on 
    requirepass 123456
    cluster-enabled yes
    cluster-config-file nodes.conf
    cluster-node-timeout 15000
    appendonly yes
    masterauth 123456

     10.49.196.21:/home/hadoop/app/redis-5.0.8-7000/redis.conf:

    bind 10.49.196.21 127.0.0.1
    port 7000
    logfile "/home/hadoop/app/redis-5.0.8-7000/logs/redis.log"
    
    daemonize on 
    requirepass 123456
    cluster-enabled yes
    cluster-config-file nodes.conf
    cluster-node-timeout 15000
    appendonly yes
    masterauth 123456

    10.49.196.21:/home/hadoop/app/redis-5.0.8-7001/redis.conf:

    bind 10.49.196.21 127.0.0.1
    port 7001
    logfile "/home/hadoop/app/redis-5.0.8-7001/logs/redis.log"
    
    daemonize on 
    requirepass 123456
    cluster-enabled yes
    cluster-config-file nodes.conf
    cluster-node-timeout 15000
    appendonly yes
    masterauth 123456

     10.49.196.21:/home/hadoop/app/redis-5.0.8-7000/redis.conf:

    bind 10.49.196.22 127.0.0.1
    port 7000
    logfile "/home/hadoop/app/redis-5.0.8-7000/logs/redis.log"
    
    daemonize on 
    requirepass 123456
    cluster-enabled yes
    cluster-config-file nodes.conf
    cluster-node-timeout 15000
    appendonly yes
    masterauth 123456

    10.49.196.22:/home/hadoop/app/redis-5.0.8-7001/redis.conf:

    bind 10.49.196.22 127.0.0.1
    port 7001
    logfile "/home/hadoop/app/redis-5.0.8-7001/logs/redis.log"
    
    daemonize on 
    requirepass 123456
    cluster-enabled yes
    cluster-config-file nodes.conf
    cluster-node-timeout 15000
    appendonly yes
    masterauth 123456

     4.1.6、启动各个节点

    ./redis-server ../redis.conf 

     4.1.7、创建集群

    redis-cli --cluster create 10.49.196.20:7000 10.49.196.20:7001 10.49.196.21:7000 10.49.196.21:7001 10.49.196.22:7000 10.49.196.22:7001 --cluster-replicas 1 -a 123456

    创建成功会有如下类似日志:

    4.2、集群管理

    4.2.1、查看集群

    ./redis-cli --cluster check 127.0.0.1:7000 -a 123456 

    也可以登录redis-cli后使用如下命令查看redis集群信息:

    127.0.0.1:7000> cluster nodes
    
    127.0.0.1:7000> cluster info

    4.2.2、增加节点

    ./redis-cli --cluster add-node NEW-NODE CLUSTER-NODE [-a PASSWORD]

    打算增加10.49.196.10:7000(主)、10.49.196.10:7001(备) 两个节点

    ./redis-cli --cluster add-node 10.49.196.10:7000 10.49.196.20:7000 -a 123456
    ./redis-cli --cluster add-node 10.49.196.10:7001 10.49.196.20:7000 -a 123456

    设置主备关系:

    ./redis-cli -c -h 10.49.196.10 -p 7001 -a 123456
    10.49.196.10:7001> cluster replicate e1341ea1fe323abb55f5a0b42129800cb12d46c9

    e1341ea1fe323abb55f5a0b42129800cb12d46c9为10.49.196.10:7000的节点id。
    操作完成后结果入下:

     4.2.3、给新的主节点分配槽位

    ./redis-cli --cluster reshard 10.49.196.20:7000 -a 123456

    执行命令后会让用户选择需移动的槽位数、槽位移动到的节点、从哪个节点移动槽位。

     4.2.4、删除节点

    从节点可以直接删除,主节点需先把改节点上槽位移动到其他的主节点上,然后再删除。

    这里假设要删除新增的两个节点10.49.196.10:7000、10.49.196.21:7001;先需把10.49.196.10:7000上的槽位移到其他的节点:

     删除节点,先删除从节点,再删除主节点:

    ./redis-cli --cluster del-node 10.49.196.10:7001 9f907183de2e165b7de9d130ea228cda5811f88c -a 123456
    ./redis-cli --cluster del-node 10.49.196.10:7000 e1341ea1fe323abb55f5a0b42129800cb12d46c9 -a 123456

    删除后,又回到3+3的集群:

    4.2.4、重启集群

    依次停止各个redis节点,再依次启动即可。

    5、小结

    本文主要介绍了redis的各种模式的安装,单机模式主要用于测试学习,主从模式可用性没有哨兵模式高,集群模式相对较复杂,所有一般实际使用中会使用哨兵模式。

  • 相关阅读:
    用友U8 | 【存货管理】提示用户***正在记账,不允许并发。
    用友U8 | 怎么准确查找【采购入库单】、【采购发票】,对应的凭证号?
    用友U8 | 中途启用序列号管理,该怎么操作?
    Excel:提取身份证号中的性别
    给jupyter 添加代码自动补全功能
    SQL函数之:截断字符串
    解决Maven子项目提示 ‘parent.relativePath‘ of POM
    公共NTP资源汇总
    iperf3的使用
    ZeroTier的使用
  • 原文地址:https://www.cnblogs.com/wuyongyin/p/12963687.html
Copyright © 2011-2022 走看看