zoukankan      html  css  js  c++  java
  • CentOS7 yum安装配置 +redis主从配置

    一.安装必要包

    yum install gcc

    二.linux下安装

    复制代码
    #下载
    wget http://download.redis.io/releases/redis-3.0.0.tar.gz
    tar zxvf redis-3.0.0.tar.gz
    cd redis-3.0.0
    #如果不加参数,linux下会报错
    make MALLOC=libc
    复制代码

    安装好之后,启动文件

    #启动redis
    src/redis-server &
    #指定配置文件启动
    src/redis-server redis.conf  #关闭redis src/redis-cli shutdown

    当数据量变得庞大的时候,读写分离还是很有必要的。同时避免一个redis服务宕机,导致应用宕机的情况,我们启用sentinel(哨兵)服务,实现主从切换的功能。

     redis提供了一个master,多个slave的服务。 

    准备三个redis服务,依次命名文件夹子master,slave1,slave2.这里为在测试机上,不干扰原来的redis服务,我们master使用6000端口。

    配置文件(redis.conf)

    master配置修改端口:

        port 6000
    
        requirepass 123456

     slave1修改配置:

    port 6001 
    slaveof 127.0.0.1 6000 
    masterauth 123456 
    requirepass 123456

     slave2修改配置: 

    port 6002 
    slaveof 127.0.0.1 6000 
    masterauth 123456 
    requirepass 123456

     requirepass是认证密码,应该之后要作主从切换,所以建议所有的密码都一致, masterauth是从机对主机验证时,所需的密码。(即主机的requirepass)

    启动主机

    # redis-server redis.conf 

    启动从机:

     redis-server redis1.conf
    
     redis-server redis2.conf
    #启动后可以自行验证

    哨兵配置

    vim sentinel.conf

    port 26379

    dir "/tmp"

    sentinel myid 534961a845edd605e8c280d031b6e531dbd7017a

    sentinel monitor mymaster 192.168.183.136 6000 1

    sentinel down-after-milliseconds mymaster 3000

    sentinel failover-timeout mymaster 5000

    sentinel config-epoch mymaster 9
    sentinel leader-epoch mymaster 9
    sentinel known-slave mymaster 192.168.183.138 6000

    启动哨兵

    src/redis-sentinel sentinel.conf

    1 port 7031
    2 
    3 dir /opt/app/redis/redis-2.8.17/tmp
    4 
    5 sentinel monitor mymaster 10.6.144.155 7030 1
    6 sentinel down-after-milliseconds mymaster 5000
    7 sentinel parallel-syncs mymaster 1
    8 sentinel failover-timeout mymaster 15000
    复制代码

    第1行,指定sentinel使用的端口,不能与redis-server运行实例的端口冲突

    第3行,指定工作目录

    第5行,显示监控master节点10.6.144.155,master节点使用端口7030,最后一个数字表示投票需要的"最少法定人数",比如有10个sentinal哨兵都在监控某一个master节点,如果需要至少6个哨兵发现master挂掉后,才认为master真正down掉,那么这里就配置为6,最小配置1台master,1台slave,在二个机器上都启动sentinal的情况下,哨兵数只有2个,如果一台机器物理挂掉,只剩一个sentinal能发现该问题,所以这里配置成1,至于mymaster只是一个名字,可以随便起,但要保证5-8行都使用同一个名字

    第6行,表示如果5s内mymaster没响应,就认为SDOWN

    第8行,表示如果15秒后,mysater仍没活过来,则启动failover,从剩下的slave中选一个升级为master

    第7行,表示如果master重新选出来后,其它slave节点能同时并行从新master同步缓存的台数有多少个,显然该值越大,所有slave节点完成同步切换的整体速度越快,但如果此时正好有人在访问这些slave,可能造成读取失败,影响面会更广。最保定的设置为1,只同一时间,只能有一台干这件事,这样其它slave还能继续服务,但是所有slave全部完成缓存更新同步的进程将变慢。

    C# 获取主从服务器地址

    port 26379

    dir "/tmp"
    daemonize yes
    ## 守护进程模式
    #daemonize yes
    ##关闭保护模式
    #protected-mode no
    ##哨兵监控的master,主从配置一样,这里只用输入redis主节点的ip/port和法定人数。
    sentinel monitor mymaster 192.168.148.131 6000 1
    ## master或slave多长时间(默认30秒)不能使用后标记为s_down状态。
    sentinel down-after-milliseconds mymaster 5000
    ##若sentinel在该配置值内未能完成failover操作(即故障时master/slave自动切换),则认为本次failover失败。
    sentinel failover-timeout mymaster 18000
    ##设置master和slaves验证密码
    #sentinel auth-pass mymaster 123456

    sentinel config-epoch mymaster 2
    #指定了在执行故障转移时, 最多可以有多少个从服务器同时对新的主服务器进行同步

    C# 调用

    类库:csredis

    using (var sentinel = new RedisSentinelClient("192.168.148.131", 26379))
    {
      var master = sentinel.Slaves("mymaster");//这个就是在Sentinel上面为Master主机起的名字,要一致
      foreach (var item in master)
      {
        Console.WriteLine(item.MasterHost + ":" + item.MasterPort);//得到Master机器信息
        Console.WriteLine(item.Ip + ":" + item.Port);//得到Slave机器信息
        Console.WriteLine();
      }
    }

  • 相关阅读:
    升级windows 11小工具
    windows 10更新升级方法
    您需要了解的有关 Oracle 数据库修补的所有信息
    Step by Step Apply Rolling PSU Patch In Oracle Database 12c RAC Environment
    Upgrade Oracle Database Manually from 12.2.0.1 to 19c
    如何应用版本更新 12.2.0.1.210420(补丁 32507738 – 2021 年 4 月 RU)
    xtrabackup 安装、备份和恢复
    Centos_Lvm expand capacity without restarting CentOS
    Centos_Lvm_Create pv vg lv and mount
    通过全备+relaylog同步恢复被drop的库或表
  • 原文地址:https://www.cnblogs.com/lijiasnong/p/5478507.html
Copyright © 2011-2022 走看看