redis安装
解压完成后可以看到INSTALL和README.md文件,查看以获取更多有用信息。
在README文件中可以获取到软件的安装步骤。以下安装步骤基于此。
step1 进入文件夹,执行编译命令
step2 为了后面开发测试的方便,把启动脚本,配置文件,日志文件统一放到redis目录下
step3 开启Redis服务,检测其可用性
可以看到日志信息
Redis server使用默认端口6379启动成功。
step4 修改配置文件,使其以后台服务方式运行。
step5 重新启动redis。
查看日志../logs/redis.log.9999
可以看到,服务端接收到停止服务的命令后,并没有立即停止运行,而是做了一个Saving 的操作,因此,如果采用KILL -9 pid 的方式杀死redis进程,可能导致部分数据丢失!
step6 在redis中保存第一个值
开启主从复制(master-slave)
主从模式的两个重要目的,提升系统可靠性和读写分离提升部分性能。
这里通过修改端口的方式,再启动端口为9997和9998的服务作为备(从)机。
备机启动需要修改配置文件部分属性(在9999配置的基础上)。
从机9998配置同理
开启从机服务
查看slave 9978日志(省略部分信息),可以看出,slave在启动时成功连接master,并接收到了104字节的同步数据。
验证:尝试在从机中获取前面存入的key值
sentinel模式故障自动迁移
Master-slave主从复制避免了数据丢失带来的灾难性后果。
但是单点故障仍然存在,在运行期间master宕机需要停机手动切换。
Sentinel很好的解决了这个问题,当Master-slave模式中的Master宕机后,能够自主切换,选择另一个可靠的redis-server充当master角色,使系统仍正常运行。
一般来说sentinel server需要大于等于3个。
这里通过修改端口的方式开启3个sentinel server。修改配置文件sentinel.conf部分属性
(多开服务只需要在以上配置基础上修改端口号,其它保持不变 port 26378/port 26377)
开启Sentinel服务
查看日志:
此时所有服务的运行情况:
测试:杀死master进程,模拟master宕机
查看sentinel日志(省略部分信息),可以知道故障迁移的大致过程: