Redis集群部署Word文档下载推荐.docx
- 文档编号:17563809
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:10
- 大小:189.91KB
Redis集群部署Word文档下载推荐.docx
《Redis集群部署Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《Redis集群部署Word文档下载推荐.docx(10页珍藏版)》请在冰豆网上搜索。
2016-01-06
1概述
本文档描述如何部署实现Redis双主备份。
2系统方案
2.1硬件设备
常用的web服务器即可
2.2操作系统
CentOS6.6,建议使用公司的PXE方式进行安装。
2.3其他组件
Ø
Keepalived
可通过yum方式安装,也可对源码进行编译安装,本文以yum安装为例。
Redis
建议从官方网站下载源码包进行编译安装。
下载链接:
http:
//download.redis.io/releases/redis-3.0.5.tar.gz
3部署过程
3.1环境准备
实验环境介绍
服务器名称
IP
组件
主服务器
192.168.3.185(VIP:
192.168.3.188)
Redis、keepalived
从服务器
192.168.3.186(VIP:
Yum源
修改yum源配置文件
#rm–rf/etc/yum.repos.d/*
#vim/etc/yum.repos.d/server.repo
[mirror]
name=163
baseurl=
enabled=1
gpgcheck=0
程序包
上传软件包redis-3.0.5.tar.gz至/usr/local/src目录下
3.2软件安装
3.2.1Redis
#cd/usr/local/src
#tar–xvfredis-3.0.5.tar.gz
#cdredis-3.0.5
#make
#makePREFIX=/usr/local/redisinstall#安装到/usr/local/redis目录下
3.2.2Keepalived
#yum–yinstallkeepalived
3.3配置文件
3.3.1Redis
#cp/usr/local/src/redis-3.0.5/redis.conf/usr/local/redis/
#vim/usr/local/redis/redis.conf
daemonizeyes#启动时以后台模式运行
requirepass123456//注意去掉#注释,并修改密码
masterauth123456去掉#注释,并修改密码
3.3.2Keepalived
#/cp/etc/keepalived/keepalived.conf/etc/keepalived/keepalived.conf.bak
#vim/etc/keepalived/keepalived.conf
!
ConfigurationFileforkeepalived
global_defs{
notification_email{
admin@
}
notification_email_fromkeepalived@
smtp_server127.0.0.1
smtp_connect_timeout30
router_idLVS_DEVEL4
}
vrrp_scriptchk_redis{
script"
/etc/keepalived/scripts/redis_check.sh"
#监控redis脚本
interval2
vrrp_instanceVI_1{
stateMASTER#主服务器(备服务器写BACKUP)
interfaceem1#监听网卡名称
virtual_router_id51
priority101#优先级(备服务器写100)
authentication{
auth_typePASS
auth_passredis
track_script{
chk_redis
virtual_ipaddress{
192.168.3.188#虚IP
notify_master/etc/keepalived/scripts/redis_master.sh#主模式时执行的脚本
notify_backup/etc/keepalived/scripts/redis_backup.sh#备模式时执行的脚本
notify_fault/etc/keepalived/scripts/redis_fault.sh#失效时执行的脚本
notify_stop/etc/keepalived/scripts/redis_stop.sh#keepalived停止时的脚本
说明:
注意修改黄色部分
3.4脚本
创建脚本目录
#mkdir/etc/keepalived/scripts
3.4.1redis_check.sh
#!
/bin/bash
netstat-ntlp|grep6379
RETVAL=$?
if[x"
$RETVAL"
==x"
0"
];
then
echo$RETVAL
exit0
else
exit1
fi
3.4.2redis_master.sh
REDISCLI="
/usr/local/bin/redis-cli-a123456"
LOGFILE="
/var/log/keepalived-redis-state.log"
echo"
[master]"
>
>
$LOGFILE
date>
Beingmaster...."
$LOGFILE2>
&
1
RunSLAVEOFcmd..."
$REDISCLISLAVEOF192.168.3.1866379>
sleep10#延迟10秒以后待数据同步完成后再取消同步状态
RunSLAVEOFNOONEcmd..."
$REDISCLISLAVEOFNOONE>
黄色部分是对方主机的IP,注意修改。
3.4.3redis_backup.sh
[backup]"
Beingslave...."
sleep15#延迟15秒待数据被对方同步完成之后再切换主从角色
3.4.4redis_fault.sh
LOGFILE=/var/log/keepalived-redis-state.log
[fault]"
3.4.5redis_stop.sh
[stop]"
3.4.6redis服务脚本
#vim/usr/local/bin/redis
BIN=/usr/local/redis/bin#注意路径
CNF=/usr/local/redis/redis.conf#注意路径
case$1in
start)
$BIN/redis-server$CNF
;
stop)
ps-ef|grepredis|grep-v"
grep"
|awk'
{print$2}'
|xargskill
status)
ifnetstat-ntlp|grep6379&
/dev/null;
then
echo"
Redisisrunning..."
else
Redisisnotrunning..."
fi
*)
echo"
Usage:
redis<
start|stop|status>
"
Esac
给以上脚本以执行权限
#chmod+x/etc/keepalived/scripts/*.sh
#chmod+x/usr/local/bin/redis
4启动
启动redis-server
#redisstart
启动keepalived
#servicekeepalivedstart
添加开机自启动
#echo“/usr/local/bin/redisstart”>
etc/rc.d/rc.local
#chkconfigkeepalivedon
5验证
redis服务状态
redis从服务器状态:
redis主服务器状态:
[root@AAA2scripts]#redis-cli-a123456info|grep-A8Replication
#Replication
role:
master
connected_slaves:
slave0:
ip=192.168.107.13,port=6379,state=online,offset=3349,lag=1
master_repl_offset:
3349
repl_backlog_active:
repl_backlog_size:
1048576
repl_backlog_first_byte_offset:
17
repl_backlog_histlen:
3333
[root@launcherscripts]#servicekeepalivedstatus
keepalived(pid108386)isrunning...
keepalived服务状态
通过VIP写入数据
从其他主机获取数据
模拟主服务器down掉
再次获取数据
查看VIP所在主机
通过VIP再次写入数据
获取数据
恢复主服务并查看VIP状态
再次获取新数据,查看是否同步。
数据同步成功
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Redis 集群 部署