Redis集群部署.docx

上传人:b****3 文档编号:4628901 上传时间:2022-12-07 格式:DOCX 页数:10 大小:189.91KB
下载 相关 举报
Redis集群部署.docx_第1页
第1页 / 共10页
Redis集群部署.docx_第2页
第2页 / 共10页
Redis集群部署.docx_第3页
第3页 / 共10页
Redis集群部署.docx_第4页
第4页 / 共10页
Redis集群部署.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

Redis集群部署.docx

《Redis集群部署.docx》由会员分享,可在线阅读,更多相关《Redis集群部署.docx(10页珍藏版)》请在冰豆网上搜索。

Redis集群部署.docx

Redis集群部署

 

北京创维海通数字技术有限公司

Redis集群部署方案

声明

本文件以及文件所包含的知识产权和版权归北京创维海通数字技术有限公司所有,北京创维海通数字技术有限公司拥有对文件内容的全部解释权、使用权。

XX或书面许可,任何机关、企业、个人均不允许对文件的内容和信息通过任何形式进行拷贝、复印和发布(例如网络、打印、复印、传真等)。

一经发现,北京创维海通数字技术有限公司保留对其侵权行为进行法律追究的权利。

修订历史

版本号

日期

描述

作者/贡献者

V1.0

2015-12-17

创建

黄志军

V1.1

2015-12-31

修改

王海龙

V1.2

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:

192.168.3.188)

Redis、keepalived

Ø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

echo$RETVAL

exit1

fi

3.4.2redis_master.sh

#!

/bin/bash

REDISCLI="/usr/local/bin/redis-cli-a123456"

LOGFILE="/var/log/keepalived-redis-state.log"

echo"[master]">>$LOGFILE

date>>$LOGFILE

echo"Beingmaster....">>$LOGFILE2>&1

echo"RunSLAVEOFcmd...">>$LOGFILE

$REDISCLISLAVEOF192.168.3.1866379>>$LOGFILE2>&1

sleep10#延迟10秒以后待数据同步完成后再取消同步状态

echo"RunSLAVEOFNOONEcmd...">>$LOGFILE

$REDISCLISLAVEOFNOONE>>$LOGFILE2>&1

说明:

黄色部分是对方主机的IP,注意修改。

3.4.3redis_backup.sh

#!

/bin/bash

REDISCLI="/usr/local/bin/redis-cli-a123456"

LOGFILE="/var/log/keepalived-redis-state.log"

echo"[backup]">>$LOGFILE

date>>$LOGFILE

echo"Beingslave....">>$LOGFILE2>&1

sleep15#延迟15秒待数据被对方同步完成之后再切换主从角色

echo"RunSLAVEOFcmd...">>$LOGFILE

$REDISCLISLAVEOF192.168.3.1866379>>$LOGFILE2>&1

说明:

黄色部分是对方主机的IP,注意修改。

3.4.4redis_fault.sh

#!

/bin/bash

LOGFILE=/var/log/keepalived-redis-state.log

echo"[fault]">>$LOGFILE

date>>$LOGFILE

3.4.5redis_stop.sh

#!

/bin/bash

LOGFILE=/var/log/keepalived-redis-state.log

echo"[stop]">>$LOGFILE

date>>$LOGFILE

3.4.6redis服务脚本

#vim/usr/local/bin/redis

#!

/bin/bash

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

echo"Redisisnotrunning..."

fi

;;

*)

echo"Usage:

redis"

;;

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:

1

slave0:

ip=192.168.107.13,port=6379,state=online,offset=3349,lag=1

master_repl_offset:

3349

repl_backlog_active:

1

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状态

再次获取新数据,查看是否同步。

数据同步成功

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1