linux数据库redis主从配置,redis介绍及主从配置

redis介绍及主从配置

本文主要包含两个部分:简单介绍下什么是redis、redis主从配置及基于sentinel实现redis集群故障自动切换。

redis基于内存亦可持久化的日志型、Key-Value数据库,目前接触到redis主要应用在session缓存方面。

一、系统环境

平台:Centos7.0_x86_64

主机:192.168.115.11、192.168.115.12、192.168.115.13

规划:11为master节点,12、13为slave节点

二、安装redis

1.软件安装

软件包:redis-2.6.4.tar.gz

tar  -zxvf  redis-2.6.4.tar.gz

cd redis-2.6.4

make PREFIX=/usr/local/redis install或者使用该命令指定安装路径

2.创建相关目录

mkdir  -pv  /usr/local/redis/{logs,var,etc}

mkdir  -pv  /data/redis

3.安装完bin下二进制文件介绍

redis-server:#redis服务器的daemon启动程序

redis-cli:#redis命令行操作工具

redis-check-dump:#用于检查本地数据库的rdb文件

redis-check-aof:#对更新日志appendonly.aof检查,是否可用

redis-benchmark:#redis性能测试工具,可以测试在本系统本配置下的读写性能

4.修改配置文件,修改如下几项

vi  /usr/local/redis/etc/redis.conf

daemonize yes                                          #以守护进程方式启动redis

pidfile /usr/local/redis/var/redis.pid    #pid文件存放位置

logfile /usr/local/redis/logs/redis.log   #日志文件存放路径

dir /data/redis                                          #数据文件路径

5.启动redis服务

/usr/local/redis/bin/redis-server  /usr/local/redis/etc/redis.conf

6.查看redis启动进程

5b2c17817c661590d895f6dfd22e5500.png

f7d65fcf01a6ca05d1b477256cbdde71.png

7.查看日志发现如下提示信息

tail /usr/local/redis/logs/redis.log

58a9616fe1761838f52bc808ac9761f4.png

添加以下信息

echo "vm.overcommit_memory = 1" >> /etc/sysctl.conf

sysctl  -p

8.为redis提供启动脚本

cp  /root/redis-2.6.4/utils/redis_init_script  /etc/init.d/redis

修改文件

添加如下一行

# chkconfig: 2345 80 90

以下内容根据实际情况做修改

EXEC=/usr/local/redis/bin/redis-server

CLIEXEC=/usr/local/redis/bin/redis-cli

PIDFILE=/usr/local/redis/var/redis.pid

CONF="/usr/local/redis/etc/redis.conf"

chkconfig --add redis

service redis start

三、主从配置

1.在从节点上修改如下配置

slaveof 192.168.115.11 6379

2.启动服务

3.在主节点上写入一条数据

6aef1a027c690465aeb996bd9e5492ad.png

4.在从节点上查看

59206cc9a466be842777d5185ce348f9.png

测试数据正常同步

从节上日志信息

36961c76485ab0964bf74cac6522eeff.png

四、redis集群故障自动切换

1. Sentinel介绍

Sentinel系统用于管理多个Redis服务器(instance),该系统执行以下三个任务:

监控(Monitoring):Sentinel会不断地检查你的主服务器和从服务器是否运作正常。

提醒(Notification):当被监控的某个Redis服务器出现问题时,Sentinel可以通过API向管理员或者其他应用程序发送通知。

自动故障迁移(Automatic failover):当一个主服务器不能正常工作时,Sentinel会开始一次自动故障迁移操作,它会将失效主服务器的其中一个从服务器升级为新的主服务器,并让失效主服务器的其他从服务器改为复制新的主服务器;当客户端试图连接失效的主服务器时,集群也会向客户端返回新主服务器的地址,使得集群可以使用新主服务器代替失效服务器。

2.sentinel配置文件

/usr/local/redis/etc/sentinel.conf

port 26379

sentinel monitor mymaster 192.168.115.11 6379 2     #定义了监听的主服务器ip及端口,集群中的票数该值不大于集群中slave的个数

sentinel down-after-milliseconds mymaster 30000      #默认master失效时长

sentinel can-failover mymaster yes                                 #是否允许实施“failover”(故障转移),即当master挂了slave提升为master

sentinel parallel-syncs mymaster 1

sentinel failover-timeout mymaster 900000

3.启动sentinel

在3台服务器上启动服务

/usr/local/redis/bin/redis-server /usr/local/redis/etc/sentinel.conf –sentinel &

99a03818933848a403a956a953bf62ff.png

查看服务监听端口号

fa7a49b36a43b1ab4943aca394965e6c.png

在主服务器上查看当前服务器主从角色

/usr/local/redis/bin/redis-cli -h 192.168.115.11 -p 6379 info Replication

6e8dad049b56d496568de8c51fe34fa1.png

在从服务器上查看当前服务器角色

/usr/local/redis/bin/redis-cli -h 192.168.115.12 -p 6379 info Replication

cdd26a489e4b93a3f69ba4589a3b0581.png

4.模拟故障转移

关闭主服务器redis进程,此时从服务器在重新选举主服务器,从服务器上优先级低的会被选举会master

在从12上

1fd79b631c887e935a830a5cb79b7aee.png

在从13上

4d635659c23b9235c595548e9d77453a.png

此时12已经成为新的master

057db29a1d580ece2ba8178a87b44229.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值