zoukankan      html  css  js  c++  java
  • 12.ubuntu 16.04.6 安装 redis

    1. 安装redis服务端

    sudo apt-get install redis-server
    

    2.查看进程

    sudo apt-get install redis-server

    3.查看服务器状态

    netstat -nlt|grep 6379
    

     4.通过命令本机进入redis控制台

    redis-cli
    

     5.让redis可以通过远程被访问

    vi /etc/redis/redis.conf
    

     重启

    sudo /etc/init.d/redis-server restart
    

    检测连接是否成功

    1.如何使用账号访问redis

    查找文件路径方法

    find / -name redis.conf
    find / -name sentinel.conf

    修改配置文件

    vi /etc/redis/redis.conf
    

     取消注释requirepass启用密码

    卸载redis-server

    apt-get purge --auto-remove redis-server

     附:

    一主一从+哨兵

    哨兵机器:

    192.168.88.41

    192.168.88.42

    192.168.88.43

    安装哨兵:

    sudo apt-get install redis-sentinel

    一主一从:

    192.168.88.51

    192.168.88.52

    sudo apt-get install redis-server

    # 允许开机启动 

    systemctl enable redis 
    systemctl enable redis-sentinel

    【主配置192.168.88.51】

    vi /etc/redis/redis.conf
    #主
    #支持内网/本地访问,比如 bind 172.31.175.142 127.0.0.1
    bind 192.168.88.51 127.0.0.1
    
    

    【slave的配置192.168.88.52】

    vi /etc/redis/redis.conf
    
    
    #支持内网/本地访问,比如 bind 172.31.175.142 127.0.0.1
    bind 192.168.88.52 127.0.0.1
    #指定master
    slaveof 192.168.88.51  6379
    #设置从库只读
    slave-read-only yes  

    【3台机器的sentinel的配置192.168.88.41/192.168.88.42/192.168.88.43】

     解释:

    sentinel monitor <master-name> <ip> <redis-port> <quorum>
    告诉sentinel去监听地址为ip:port的一个master,这里的master-name可以自定义,quorum是一个数字,指明当有多少个sentinel认为一个master失效时,master才算真正失效
    
    sentinel auth-pass <master-name> <password>
    设置连接master和slave时的密码,注意的是sentinel不能分别为master和slave设置不同的密码,因此master和slave的密码应该设置相同。
    
    sentinel down-after-milliseconds <master-name> <milliseconds> 
    这个配置项指定了需要多少失效时间,一个master才会被这个sentinel主观地认为是不可用的。 单位是毫秒,默认为30秒
    
    sentinel parallel-syncs <master-name> <numslaves> 
    这个配置项指定了在发生failover主备切换时最多可以有多少个slave同时对新的master进行 同步,这个数字越小,完成failover所需的时间就越长,但是如果这个数字越大,就意味着越 多的slave因为replication而不可用。可以通过将这个值设为 1 来保证每次只有一个slave 处于不能处理命令请求的状态。
    
    sentinel failover-timeout <master-name> <milliseconds>
    failover-timeout 可以用在以下这些方面:     
    1. 同一个sentinel对同一个master两次failover之间的间隔时间。   
    2. 当一个slave从一个错误的master那里同步数据开始计算时间。直到slave被纠正为向正确的master那里同步数据时。    
    3.当想要取消一个正在进行的failover所需要的时间。    
    4.当进行failover时,配置所有slaves指向新的master所需的最大时间。不过,即使过了这个超时,slaves依然会被正确配置为指向master,但是就不按parallel-syncs所配置的规则来了。
    vi /etc/redis/sentinel.conf

    daemonize yes
    pidfile /var/run/redis/redis-sentinel.pid
    logfile /var/log/redis/redis-sentinel.log
    bind 192.168.88.41(IP换成当前机器的) 127.0.0.1 
    port 26379
    dir /var/lib/redis
    sentinel monitor mymaster 192.168.88.51((IP换成主机器的))  6379 2
    sentinel down-after-milliseconds mymaster 5000
    sentinel parallel-syncs mymaster 2
    sentinel failover-timeout mymaster 15000

    启动

    # 启动需要按照Master->Slave->Sentinel的顺序进行启动
    # 启动redis
    systemctl restart redis
    # 启动redis哨兵
    systemctl restart redis-sentinel

    查看端口运行状态

    netstat -anptu | grep redis

    查看端口运行状态

    检查服务状态:

    service redis-sentinel status

    验证主从模式

    主机器 主服务上登录客户端,添加数据并取得数据:

     从机器 从服务器登录客户端,查询验证数据(从服务上不能添加数据):

     如上表示主从复制验证成功

    验证哨兵模式

    cd /etc/redis
    redis-cli -h 192.168.88.41 -p 26379
    sentinel master mymaster
    sentinel slaves mymaster

    基本指令

    # 启动
    systemctl start redis
    systemctl start redis-sentinel
    # 重启
    systemctl restart redis
    systemctl restart redis-sentinel
    # 停止
    systemctl stop redis
    systemctl stop redis-sentinel
    # 开机启动
    systemctl enable redis
    systemctl enable redis-sentinel
    # 关闭开机启动
    systemctl disable redis
    systemctl disable redis-sentinel
    # 卸载,停止redis服务,sentinel服务之后,关闭开机启动,进行卸载
    yum remove redis -y
    #查看版本 进入/etc/reids目录以后执行命令
    redis-server --version

     代码参考网址:

    https://blog.csdn.net/qq_39669058/article/details/89158145

    参考代码配置文件写的有问题,参照如下,是个坑

    spring.redis.sentinel.master=mymaster
    spring.redis.sentinel.nodes=192.168.88.41:26379,192.168.88.42:26379,192.168.88.43:26379
    spring.redis.timeout=6000
    spring.redis.jedis.pool.max-active=8
    spring.redis.jedis.pool.max-wait=-1
    spring.redis.jedis.pool.max-idle=8
  • 相关阅读:
    Django 模版当中使用中文 UnicodeDecodeError at / 问题
    sql中索引不会被用到的几种情况
    Django安装
    分享一个webapi接口性能测试的工具
    orleans 2.0 进阶之自定义持久化储存
    centos7 .net core 使用supervisor守护进程,可以后台运行
    将.net core 发布到Linux上的一些坑
    .net core 部署在Linux系统上运行的环境搭建总结
    .net core 基于NPOI 的excel导入导出类,支持自定义导出哪些字段,和判断导入是否有失败的记录
    基于Ace Admin 的菜单栏实现
  • 原文地址:https://www.cnblogs.com/ff111/p/12917451.html
Copyright © 2011-2022 走看看