Centos7 编译安装redis-4.0.1及主从+哨兵模式
2017-12-23 14:33
821 查看
一、redis概述及哨兵模式
redis对数据缓存到内存,实现高效缓存,使用持久化模块对数据进行保存,使用sentinel模式实现redis集群,提供高可用服务。
下面是在宏观层面上哨兵模式的功能列表:
· 监控:哨兵不断的检查master和slave是否正常的运行。
· 通知:当监控的某台Redis实例发生问题时,可以通过API通知系统管理员和其他的应用程序。
· 自动故障转移:如果一个master不正常运行了,哨兵可以启动一个故障转移进程,将一个slave升级成为master,其他的slave被重新配置使用新的master,并且应用程序使用Redis服务端通知的新地址。
· 配置提供者:哨兵作为Redis客户端发现的权威来源:客户端连接到哨兵请求当前可靠的master的地址。如果发生故障,哨兵将报告新地址。
二、网络规划及拓扑
三、编译安装redis及采用systemd启动脚本
1、解决依赖包问题并上传安装包
[root@redis-master ~]#yum install gcc gcc-c++ -y
2、创建必须的用户、文件及授权
3、编译安装redis,makeMALLOC=libc是调用管理内存碎片
5、启动redis测试
redis启动成功!!
6、编写启动脚本,并增加执行权限
查看启动状态
四、配置redis主从+哨兵模式
1、配置两台从服务器(redis-slave1和redis-slave2)
2、配置哨兵模式(三台服务器都要配置)
配置完Redis和Sentinel之后,按顺序启动各个角色。启动顺序如下:
Master->Slave->Sentinel,要确保按照这个顺序依次启动。
Sentinel的启动命令和Redis类似。
哨兵启动成功!!!!
4、编写systemd启动sentinel脚本,使用systemd启动sentinel
[root@redis-master ~]# vim /usr/lib/systemd/system/sentinel.service
[Unit]
Description=Redis persistent key-value database
After=network.target
[Service]
User=redis
Group=redis
ExecStart=/usr/local/redis/src/redis-sentinel /usr/local/redis/sentinel.conf --daemonize no
ExecStop=/usr/local/redis/src/redis-cli -h 10.0.0.141 -p 6379 shutdown
Restart=always
[Install]
WantedBy=multi-user.target
[root@redis-master redis]# chmod 750 /usr/lib/systemd/system/sentinel.service
systemd启动sentinel
五、测试
1、测试master写入缓存并查看slave是否同步
2、持久化数据
2、测试哨兵模式
实现高可用切换master(故障前master位于10.0.0.141)
redis-master主机故障,两台从服务器选举出新master
新master产生
redis对数据缓存到内存,实现高效缓存,使用持久化模块对数据进行保存,使用sentinel模式实现redis集群,提供高可用服务。
下面是在宏观层面上哨兵模式的功能列表:
· 监控:哨兵不断的检查master和slave是否正常的运行。
· 通知:当监控的某台Redis实例发生问题时,可以通过API通知系统管理员和其他的应用程序。
· 自动故障转移:如果一个master不正常运行了,哨兵可以启动一个故障转移进程,将一个slave升级成为master,其他的slave被重新配置使用新的master,并且应用程序使用Redis服务端通知的新地址。
· 配置提供者:哨兵作为Redis客户端发现的权威来源:客户端连接到哨兵请求当前可靠的master的地址。如果发生故障,哨兵将报告新地址。
二、网络规划及拓扑
hostname | IP | redis服务端口 | 哨兵 | 哨兵服务端口 |
redis-master | 10.0.0.141 | 6739 | sentinel1 | 26739 |
redis-slave1 | 10.0.0.142 | 6739 | sentinel2 | 26739 |
redis-slave2 | 10.0.0.143 | 6739 | sentinel3 | 26739 |
三、编译安装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.conf daemonize yes(为体现效果,一开始使用默认,暂时设为前台运行) protected-mode no bind 10.0.0.141 logfile “/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 database After=network.target [Service] User=redis Group=redis ExecStart=/usr/local/redis/src/redis-server /usr/local/redis/redis.conf --daemonize no ExecStop=/usr/local/redis/src/redis-cli -h 10.0.0.141 -p 6379 shutdown Restart=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.conf slaveof 10.0.0.141 6379 [root@redis-slave2 redis]# vim redis.conf slaveof 10.0.0.141 6379
2、配置哨兵模式(三台服务器都要配置)
[root@redis-master redis]# vim sentinel.conf daemonize 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 database
After=network.target
[Service]
User=redis
Group=redis
ExecStart=/usr/local/redis/src/redis-sentinel /usr/local/redis/sentinel.conf --daemonize no
ExecStop=/usr/local/redis/src/redis-cli -h 10.0.0.141 -p 6379 shutdown
Restart=always
[Install]
WantedBy=multi-user.target
[root@redis-master redis]# chmod 750 /usr/lib/systemd/system/sentinel.service
systemd启动sentinel
五、测试
1、测试master写入缓存并查看slave是否同步
2、持久化数据
2、测试哨兵模式
实现高可用切换master(故障前master位于10.0.0.141)
redis-master主机故障,两台从服务器选举出新master
新master产生
相关文章推荐
- 【Redis】Redis的基本安装及使用、Jedis的基本使用、spring-data-redis的集成、主从模式、哨兵模式
- redis安装-主从-哨兵模式
- Linux下Redis安装使用,主从模式,哨兵模式与PHP扩展(PHP7适用)
- Linux下Redis安装使用,主从模式,哨兵模式与PHP扩展(PHP7适用)
- Redis4.0.1的安装及哨兵模式的配置
- redis复习(二):高级命令,主从复制,哨兵模式
- redis主从切换---Sentinel(哨兵模式)
- redis 安装 主从同步 哨兵模式
- 三:redis哨兵模式实现主从故障切换1
- redis的主从架构的配置和哨兵模式原理和配置
- redis 安装 主从同步 哨兵模式
- Redis主从复制和哨兵模式
- Redis集群redis主从自动切换Sentinel(哨兵模式)
- redis在Windows下以后台服务一键搭建哨兵(主从复制)模式(多机)
- redis在Windows下以后台服务一键搭建哨兵(主从复制)模式(单机)
- 三:redis哨兵模式实现主从故障切换2
- 开发人员学Linux(6):CentOS7编译安装MySQL5.17.8多实例及主从复制
- redis 安装 主从同步 哨兵模式
- centos7安装redis-4.0.1集群
- Redis集群的安装测试(伪分布模式 - 主从复制)