redis 安装 ,主从配置,选举

来源:互联网 发布:拓扑排序算法c 编辑:程序博客网 时间:2024/04/29 09:12
redis安装:
    将下载的包拷贝到相应目录下,通过命令tar zxf 包名 解压文件,
    进入解压后的目录,进入src 目录下 ,运行 make 命令,make install
    命令。 
    
redis配置:
    进入redis解压后的目录,进入utils目录,运行install_server.sh文件
    根据提示设置相应参数.
    
redis 主从配置:
    主的redis的配置文件不需要改动,(以122为主,124为从为例),
    在124的6379.conf中添加slaveof 192.168.50.122 6379。
    
redis 主从信息查看:
    redis-cli -h 192.168.50.122 info Replication
    redis-cli -h 192.168.50.124 info Replication
    
redis-sentinel 配置:
    sentinel.conf配置文件(路径和6379.conf在同一个文件夹下),文件内容如下:
    ##redis-0
    ##sentinel实例之间的通讯端口
    port 26379
    #master1
    sentinel monitor master1 192.168.50.122 6379 1
    sentinel down-after-milliseconds master1 5000
    sentinel failover-timeout master1 900000
    sentinel can-failover master1 yes
    sentinel parallel-syncs master1 2
    #master2  可以添加多组主从的redis监听 
    
    注:down-after-milliseconds 选项指定了 Sentinel 认为服务器已经断线所需的毫秒数。
    parallel-syncs 选项指定了在执行故障转移时, 最多可以有多少个从服务器同时对新的主服务器进行同步, 这个数字越小, 完成故障转移所需的时间就越长。
    
    
 port: 指定sentinel的侦听端口(即与redis server或client建立tcp连接的端口)
 monitor: 指定sentinel要monitor的redis实例,包括一个redis实例的别名(alias)及redis实例的ip+port,该行最后的数字2表示至少2个setinel实例同时检测到redis server异常时,才将redis server的状态判决为real fail。也即,若这里配置为2,但实际部署中sentinel只部署了1套,则即使redis实例已经挂掉,sentinel也不会给出任何警告。这一点需要特别引起注意。
 down-after-milliseconds: 指定sentinel监控到redis实例持续异常多长时间后,会判决其状态为down。若实际业务需要sentinel尽快判决出redis实例异常,则该值可适当配小。
 failover-timeout: 若sentinel在该配置值内未能完成failover操作(即故障时master/slave自动切换),则认为本次failover失败。该配置有4个用途,具体可参考sentinel.conf中的说明,限于篇幅,此处不再赘述。
 parallel-syncs: 指定failover过程中,同时被sentinel reconfigure的最大slave实例数。由于reconfigure过程中,对应的slave会中断响应客户端请求,故为避免所有的slave同时不可用,该值需适当配小。
 notification-script: 指定sentinel检测到master-name指向的实例异常时,调用的报警脚本。该配置项可选,但线上系统建议配置。 
    
    
    选举master 方式:
1、较低的slave_priority(这个是在配置文件中指定,默认配置为100)
 
2、较大的replication offset(每个slave在与master同步后offset自动增加)
 
3、较小的runid(每个redis实例,都会有一个runid,通常是一个40位的随机字符串,在redis启动时设置,重复概率非常小)
 
4、如果以上条件都不足以区别出唯一的节点,则会看哪个slave节点处理之前master发送的command多,就选谁。
    
redis 启动:
    服务端:找到redis 的配置文件(122,124上在etc/redis/6379.conf)所在文件夹,
    然后通过命令  redis-server  6379.conf 启动。
    找到sentinel 的配置文件(122,124上在etc/redis/6379.conf)所在文件夹,
    然后通过命令 redis-server sentinel.conf --sentinel 来启动监控。
    客户端:找到redis 的配置文件(122,124上在etc/redis/6379.conf)所在文件夹,
    然后通过命令  redis-cli启动,启动后 通过set 键  值 (例:set k1 v1)来放入值,
    通过get 键(例: get k1)来获取值。
 
 
    
只有主从两台机器(没有监控)时候手动切换redis主从:   
redis 主从切换:
     a.停止主:redis-cli -n 6379 shutdown
     b.将从设置为主:redis-cli -p 6379 slaveof NO ONE
     c.测试从redis是否切换从主redis
     d.将现在的主redis的数据进行保存
     e.将现在的主redis根目录下dump.rdb文件拷贝覆盖到原来主redis的根目录
     f.启动原来的主redis
     g.在现在的主redis中切换redis-cli -p 6379 slaveof 192.168.50.122 6379
0 0
原创粉丝点击