zoukankan      html  css  js  c++  java
  • Redis部署-docker-离线方式

    redis部署

    redis docker部署

    docker pull registry.docker-cn.com/library/redis
    docker-compose.yml
    version: '2'
    services:
       redis:
          image: redis:latest
          container_name: redis
          restart: always
          ports:
            - 3308:6379
          volumes:
            - /data/home/redis/config/redis.conf:/usr/local/etc/redis/redis.conf
            - /data/home/redis/data:/data
          command: redis-server /usr/local/etc/redis/redis.conf
    

    离线部署redis

    【准备】
    1.Centos7.x系统
    2.安装gcc
    3.redis安装包
    
    【防火墙配置】
    
    查看防火墙状态
    
    firewall-cmd --state
    
    停止firewall
    
    systemctl stop firewalld.service
    
    禁止firewall开机启动
    
    systemctl disable firewalld.service 
    
    
    关闭selinux 
    进入到/etc/selinux/config文件
    
    vi /etc/selinux/config
    将SELINUX=enforcing改为SELINUX=disabled
    
    
    
    【安装】
    tar -zxvf redis-5.0.5.tar.gz
    编译
    make
    安装
    make PREFIX=/usr/local/redis install    
    
    
    在/usr/local/redis/下创建redis.conf和sentinel.conf文件
    
    主:redis.conf
    port 6379
    bind 192.168.18.190  #本机ip
    requirepass "myredis"   #认证密码
    daemonize yes   #支持后台运行,默认值为no
    logfile "6379.log"   #日志文件
    dbfilename "dump-6379.rdb"  #数据库文件
    dir "./"  
    
    #如若master设置了认证密码,那么所有redis数据节点都配置上masterauth属性
    
    
    从:redis.conf
    port 6379
    bind 192.168.18.191
    requirepass "myredis"  #认证密码
    daemonize yes
    logfile "6379.log"
    dbfilename "dump-6379.rdb"
    dir "./"
    #如若master设置了认证密码,那么所有redis数据节点都配置上masterauth属性
    masterauth "myredis"  #主库密码
    slaveof 192.168.18.190 6379
    
    【sentinel】
    port 26379
    #开启守护进程
    daemonize yes
    dir "/tmp"  #Sentinel服务运行时使用的临时文件夹
    #指定日志文件存放位置
    logfile "26379.log"
    #指定主的IP 端口 “2”代表有两个哨兵进程发现主服务器宕机便选取一个从服务器为主
    sentinel deny-scripts-reconfig yes
    sentinel monitor mymaster 192.168.18.190 6379 2   #主master
    #redis数据master节点设置了认证,则需要如下配置
    sentinel auth-pass mymaster myredis               #认证密码
    sentinel down-after-milliseconds mymaster 30000
    sentinel config-epoch mymaster 1
    sentinel failover-timeout mymaster 180000
    
    
    
    【配置文件说明:】
    1. port :当前Sentinel服务运行的端口
    
    2. dir : Sentinel服务运行时使用的临时文件夹
    
    3.sentinel monitor master001 192.168.110.101 6379 2:Sentinel去监视一个名为master001的主redis实例,这个主实例的IP地址为本机地址192.168.110.101,端口号为6379,而将这个主实例判断为失效至少需要2个 Sentinel进程的同意,只要同意Sentinel的数量不达标,自动failover就不会执行
    
    4.sentinel down-after-milliseconds master001 30000:指定了Sentinel认为Redis实例已经失效所需的毫秒数。当实例超过该时间没有返回PING,或者直接返回错误,那么Sentinel将这个实例标记为主观下线。只有一个 Sentinel进程将实例标记为主观下线并不一定会引起实例的自动故障迁移:只有在足够数量的Sentinel都将一个实例标记为主观下线之后,实例才会被标记为客观下线,这时自动故障迁移才会执行
    
    5.sentinel parallel-syncs master001 1:指定了在执行故障转移时,最多可以有多少个从Redis实例在同步新的主实例,在从Redis实例较多的情况下这个数字越小,同步的时间越长,完成故障转移所需的时间就越长
    
    6.sentinel failover-timeout master001 180000:如果在该时间(ms)内未能完成failover操作,则认为该failover失败
    
    7.sentinel notification-script <master-name> <script-path>:指定sentinel检测到该监控的redis实例指向的实例异常时,调用的报警脚本。该配置项可选,但是很常用
    
    
    redis-cli -h 192.168.18.190 -p 6379 -a 123456 info replication
    redis-cli -h 192.168.18.191 -p 6379 -a 123456 info replication
    redis-cli -h 192.168.18.191 -p 6379 -a 123456 info replication
    redis-server /etc/redis/6379.conf 	
    redis-server /etc/redis/6379.conf #启动redis
    redis-cli -h 192.168.18.190 -p 6379 -a 123456 shutdown  #关闭redis
    
    
    
    【连接】
    redis-cli -h 192.168.18.190 -p 6379 -a myredis
    【关闭】 
    redis-cli -h 192.168.18.190 -p 6379 -a myredis shutdown
    
    
    一万年太久,只争朝夕!
  • 相关阅读:
    201671010105 201620172《Java程序设计》第四章学习心得
    201671010105 201620172《Java程序设计》第一、第二章学习心得
    201671010105 201620172《Java程序设计》第三章学习心得
    201671010105 201620172《Java程序设计》第四周学习心得
    计算三个数字的大小,按从小到大顺序输出。
    js实现网页的两个input标签内的数值加减
    传入一个4位数的整数,进行简单的加密,并1和4,2和3交换输出
    一些简单的循环案例
    计算任意两个个位整数之间所能组成的奇数个数
    js判断输入的年份是否为闰年
  • 原文地址:https://www.cnblogs.com/chaoba/p/14324730.html
Copyright © 2011-2022 走看看