Redis+Keepalived双机高可用方案(CentOs7.0 最小兼容安装版本)
一、Redis主备安装
-
软件版本
redis-6.0.9.tar.gz
下载地址:wget https://download.redis.io/releases/redis-6.0.9.tar.gz -
安装
[root@localhost /]# mkdir software
[root@localhost /]# cd /software
chmod 755 redis-6.0.9.tar.gz
tar xzf redis-6.0.9.tar.gz
cd redis-6.0.9
make
make install -
配置内存分配策略
[root@localhost /]# echo vm.overcommit_memory=1 >> /etc/sysctl.conf
sysctl vm.overcommit_memory=1
注:
0, 表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程。
1, 表示内核允许分配所有的物理内存,而不管当前的内存状态如何。
2, 表示内核允许分配超过所有物理内存和交换空间总和的内存
- redis.conf配置
*修改主服务器配置:
daemonize yes
logfile /logs/redislogs/redis.log(需要在主备服务器上创建/logs/redislog目录)
*修改备服务器配置
daemonize yes
logfile /logs/redislogs/redis.log(需要在主备服务器上创建/logs/redislog目录)
slaveof 192.168.200.217 6379(指明属于那台服务器的备份服务)
参数说明:
daemonize:是否以后台daemon方式运行 (yes)
pidfile:pid文件位置
port:监听的端口号
timeout:请求超时时间
loglevel:log信息级别
logfile:log文件位置
databases:开启数据库的数量(根据实际需要)
save * :保存快照的频率,第一个表示多长时间,第三个*表示执行多少次写操作。在一定时间内执行一定数量的写操作时,自动保存快照。可设置多个条件。
rdbcompression:是否使用压缩
dbfilename:数据快照文件名(只是文件名,不包括目录)
dir:数据快照的保存目录(这个是目录)
appendonly:是否开启appendonlylog,开启的话每次写操作会记一条log,这会提高数据抗风险能力,但影响效率。
appendfsync:appendonlylog如何同步到磁盘(三个选项,分别是每次写都强制调用fsync、每秒启用一次fsync、不调用fsync等待系统自己同步)
- 配置成服务
vi /etc/init.d/redis
=======================================================
#!/bin/bash
Startup script for the redis
chkconfig: 345 80 15
description: redis
Source function library.p
. /etc/rc.d/init.d/functions
export REDIS_HOME=/opt/redis
case "REDIS_HOME/src/redis-server REDIS_HOME/src/redis-cli -a jeremiahxu.com shutdown
;;
restart)
REDIS_HOME/src/redis-server REDIS_HOME/src/redis-server -v
;;
*)
echo “Usage: $0 {start|stop|restart|status}”
esac
exit 0
增加执行权限:
chmod +x /etc/init.d/redis
注册为服务项
chkconfig --add redis
启停命令:
service redis start|stop|restart|status
6. 防火墙关闭
通常由于系统防火墙,redis服务启动后,客户端无法访问redis服务,需要关闭防火墙
关闭:
[root@localhost redis-6.0.9]# systemctl stop firewalld.service
禁止开机启动:
[root@localhost redis-6.0.9]# systemctl disable firewalld.service
二、keepalived安装
- 软件版本
keepalived-1.2.16.tar.gz - 安装
[root@localhost /]# yum -y install openssl-devel - 脚本准备:
主(备)服务器脚本,详见“keepalived主(备)服务器脚本”
将脚本覆盖至/etc/keepalived/
增加脚本执行权限
[root@localhost redis-6.0.9]# cd /etc/keepalived/
chmod +x -R ./*
创建keepalived 日志文件夹:
[root@localhost redis-6.0.9]# cd /logs
mkdir keepalived
修改脚本中对应位置的 日志记录文件夹、主从redis服务IP及端口 - Keepalived服务启停
service keepalived status
service keepalived stop
service keepalived start




