场景
redis作为以后煊赫一时的NOSQL零碎,自身就反对主从集群,基于虚拟机入手搭建一个1主1从的redis集群(哨兵模式)。
redis集群(redis cluster)次要是解决单机数据存储问题,redis集群将数据分布式存储与多台机器上。然而很多状况下,在小用户公司机器不容许的状况下,咱们多采纳redis主从-哨兵模式。
搭建
1、环境筹备
这里应用2台服务器,每台服务器上开启一个redis-server和redis-sentinel服务,redis-server端口为7001,redis-sentinel的端口为6001。
redis-server阐明
- 192.168.1.110:7001 主
- 192.168.1.111:7001 从
redis-sentinel阐明
- 192.168.1.110:6001
- 192.168.1.111:6001
2、搭建redis零碎
先在三台机器上装置redis,具体步骤可参考虚拟机-搭建3主3从redis集群
装置实现后复制redis提供的默认配置文件
cp /usr/src/redis-4.0.1/redis.conf /usr/local/redis
批改配置文件
cd /usr/local/redis vim redis.conf
主节点192.168.1.110上的配置
bind 192.168.1.100 //(留神:bind的意思不是绑定内部服务器的IP,而是绑定本机能够承受拜访的IP)port 7001 daemonize yes //后盾过程requirepass 123456pidfile redis_7001.pid loglevel noticelogfile "/usr/local/redis/redis_7001.log" //日志文件寄存目录 dir /usr/local/redis/ //节点主目录寄存地位 appendonly yesdbfilename dump.rdbappendfilename "appendonly.aof"appendfsync everysec
从节点192.168.1.111上的配置
bind 192.168.1.111 //(留神:bind的意思不是绑定内部服务器的IP,而是绑定本机能够承受拜访的IP)port 7001 daemonize yes //后盾过程requirepass 123456pidfile redis_7001.pid loglevel noticelogfile "/usr/local/redis/redis_7001.log" //日志文件寄存目录 dir /usr/local/redis/ //节点主目录寄存地位 #额定补充masterauth 123456slaveof 192.168.1.110 7001appendonly yesdbfilename dump.rdbappendfilename "appendonly.aof"appendfsync everysec
启动2台机器:
./bin/redis-server ./redis.conf
edis服务启动结束后,进入命令行,执行info replication查看以后主从配置
如果如上图所示没有发现从节点,很有可能是防火墙没有凋谢7001端口导致主从节点之间没法通信.
执行以下命令:
firewall-cmd --zone=public --add-port=8000/tcp --permanentfirewall-cmd --zone=public --add-port=6800/tcp --permanentfirewall-cmd --reload
从新查看主从信息:
3、搭建redis-sentinel零碎
首先复制默认的配置文件并批改
cp /usr/src/redis-4.0.1/redis.conf /usr/local/redis vim /usr/local/redis/sentinel.conf
内容如下:
protected-mode nodaemonize yesport 6001sentinel monitor mymaster 192.168.1.110 7001 1sentinel auth-pass mymaster 123456#5秒内master6800没有响应,就认为SDOWNsentinel down-after-milliseconds mymaster 5000 sentinel failover-timeout mymaster 15000logfile /var/log/redis/sentinel.logpidfile /var/run/sentinel.pid
启动redis-sentinel
./bin/redis-sentinel ./sentinel.conf
二、测试
1、主从复制测试
主节点增加数据:
从节点获取数据
2、故障转移测试
停掉主节点
查看redis集群信息
从节点192.168.1.112降级为主节点