Centos7 编译安装redis-4.0.1及主从+哨兵模式
来源:互联网 发布:工业进销存软件免费版 编辑:程序博客网 时间:2024/05/19 18:37
一、redis概述及哨兵模式
redis对数据缓存到内存,实现高效缓存,使用持久化模块对数据进行保存,使用sentinel模式实现redis集群,提供高可用服务。
下面是在宏观层面上哨兵模式的功能列表:
· 监控:哨兵不断的检查master和slave是否正常的运行。
· 通知:当监控的某台Redis实例发生问题时,可以通过API通知系统管理员和其他的应用程序。
· 自动故障转移:如果一个master不正常运行了,哨兵可以启动一个故障转移进程,将一个slave升级成为master,其他的slave被重新配置使用新的master,并且应用程序使用Redis服务端通知的新地址。
· 配置提供者:哨兵作为Redis客户端发现的权威来源:客户端连接到哨兵请求当前可靠的master的地址。如果发生故障,哨兵将报告新地址。
二、网络规划及拓扑hostnameIPredis服务端口哨兵哨兵服务端口redis-master10.0.0.1416739sentinel126739redis-slave110.0.0.1426739sentinel226739redis-slave210.0.0.1436739sentinel326739三、编译安装redis及采用systemd启动脚本
1、解决依赖包问题并上传安装包
[root@redis-master ~]#yum install gcc gcc-c++ -y
2、创建必须的用户、文件及授权
[root@redis-master ~]# cd /usr/local/src/[root@redis-master src]# tar -xf redis-4.0.1.tar.gz[root@redis-master src]# mkdir /usr/local/redis[root@redis-master src]# useradd redis[root@redis-master src]# mv redis-4.0.1/* /usr/local/redis[root@redis-master src]# chown -R redis:redis /usr/local/redis
3、编译安装redis,makeMALLOC=libc是调用管理内存碎片
[root@redis-master src]# cd /usr/local/redis[root@redis-master redis]# make MALLOC=libc[root@redis-master redis]# make && make install4、配置redis配置文件
[root@redis-master redis]# vim /usr/local/redis/redis.confdaemonize yes(为体现效果,一开始使用默认,暂时设为前台运行)protected-mode nobind 10.0.0.141logfile “/var/log/redis/redis.log”(日志存放路径,一开始使用默认)dir /usr/local/redis/rdb(持久化配置)supervised systemd(采用systemd启动)[root@redis-master redis]# mkdir /usr/local/redis/rdb[root@redis-master redis]# chown -R redis:redis /usr/local/redis/[root@redis-master redis]# mkdir /var/log/redis[root@redis-master redis]# chown -R redis:redis /var/log/redis
5、启动redis测试
[root@redis-master redis]# pwd/usr/local/redis[root@redis-master redis]# ./src/redis-server redis.conf
redis启动成功!!
6、编写启动脚本,并增加执行权限
[root@redis-master redis]# vim /usr/lib/systemd/system/redis.service[root@redis-master redis]# cat /usr/lib/systemd/system/redis.service[Unit]Description=Redis persistent key-value databaseAfter=network.target[Service]User=redisGroup=redisExecStart=/usr/local/redis/src/redis-server /usr/local/redis/redis.conf --daemonize noExecStop=/usr/local/redis/src/redis-cli -h 10.0.0.141 -p 6379 shutdownRestart=always[Install]WantedBy=multi-user.target[root@redis-master redis]# chmod 750 /usr/lib/systemd/system/redis.service使用systemd启动服务
[root@redis-master redis]# systemctl start redis
查看启动状态
四、配置redis主从+哨兵模式
1、配置两台从服务器(redis-slave1和redis-slave2)
[root@redis-slave1 redis]# vim redis.confslaveof 10.0.0.141 6379[root@redis-slave2 redis]# vim redis.confslaveof 10.0.0.141 6379
2、配置哨兵模式(三台服务器都要配置)
[root@redis-master redis]# vim sentinel.confdaemonize yes(方便测试效果,使用默认)sentinel monitor mymaster 10.0.0.141 6379 2(ip指向master)protected-mode no3、启动哨兵(手动启动)
配置完Redis和Sentinel之后,按顺序启动各个角色。启动顺序如下:
Master->Slave->Sentinel,要确保按照这个顺序依次启动。
Sentinel的启动命令和Redis类似。
[root@redis-master ~]# systemctl start redis[root@redis-slave1 ~]# systemctl start redis[root@redis-slave2 ~]# systemctl start redis[root@redis-master ~]# cd /usr/local/redis/[root@redis-master redis]# ./src/redis-sentinel sentinel.conf[root@redis-slave1 redis]# ./src/redis-sentinel sentinel.conf
哨兵启动成功!!!!
4、编写systemd启动sentinel脚本,使用systemd启动sentinel
[root@redis-master ~]# vim /usr/lib/systemd/system/sentinel.service[Unit]Description=Redis persistent key-value databaseAfter=network.target[Service]User=redisGroup=redisExecStart=/usr/local/redis/src/redis-sentinel /usr/local/redis/sentinel.conf --daemonize noExecStop=/usr/local/redis/src/redis-cli -h 10.0.0.141 -p 6379 shutdownRestart=always[Install]WantedBy=multi-user.target[root@redis-master redis]# chmod 750 /usr/lib/systemd/system/sentinel.servicesystemd启动sentinel
五、测试
1、测试master写入缓存并查看slave是否同步
2、持久化数据
2、测试哨兵模式
实现高可用切换master(故障前master位于10.0.0.141)redis-master主机故障,两台从服务器选举出新master
新master产生
- Centos7 编译安装redis-4.0.1及主从+哨兵模式
- redis安装-主从-哨兵模式
- redis 安装 主从同步 哨兵模式
- redis主从+哨兵模式
- Redis主从复制哨兵模式
- redis主从复制 哨兵模式
- Redis主从复制及哨兵
- centos7.2 redis主从,哨兵配置
- redis安装及哨兵
- 三:redis哨兵模式实现主从故障切换1
- redis哨兵模式和主从复制
- redis主从切换---Sentinel(哨兵模式)
- Redis主从复制和哨兵模式
- Redis主从复制和哨兵模式
- redis主从配置及高可用哨兵
- Redis哨兵模式及配置
- Linux下Redis安装使用,主从模式,哨兵模式与PHP扩展(PHP7适用)
- redis--主从、哨兵、集群
- c++C1010错误
- Windows 多版本python情况下使用pip安装软件包
- Redis存储数据类型五:SortedSet
- Linux的安装及常用命令
- 关于php匿名函数中的use
- Centos7 编译安装redis-4.0.1及主从+哨兵模式
- 17个新手常见Python运行时错误
- POJ 4131 Charm Bracelet
- 物联网卡是如何应用在智能养老监控的
- mysql_相关收集
- 8.3分析下面函数能否实现其功能,并编写出正确的程序
- Linux学习笔记
- TortoiseSVN入门篇
- 如何去除Chrome浏览器表单文本框Input自动填充黄色背景色样式?