資源描述:
《redis+keepalived實(shí)現(xiàn)雙機(jī)熱備.doc》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、Redis+keepalived實(shí)現(xiàn)雙機(jī)熱備一.簡(jiǎn)介安裝使用centos6.6(64)Master172.18.2.235Slave172.18.2.236Vip172.18.2.200編譯環(huán)境yum-yinstallgccgcc+gcc-c++opensslopenssl-develpcrepcre-devel當(dāng)Master與Slave均運(yùn)作正常時(shí),Master負(fù)責(zé)服務(wù),Slave負(fù)責(zé)Standby;當(dāng)Master掛掉,Slave正常時(shí),Slave接管服務(wù),同時(shí)關(guān)閉主從復(fù)制功能;當(dāng)Master恢復(fù)正常,則從Slave同步數(shù)據(jù),同步數(shù)據(jù)之后關(guān)閉主從復(fù)制功能,恢復(fù)Master身份,
2、于此同時(shí)Slave等待Master同步數(shù)據(jù)完成之后,恢復(fù)Slave身份。然后依次循環(huán)。需要注意的是,這樣做需要在Master與Slave上都開啟本地化策略,否則在互相自動(dòng)切換的過程中,未開啟本地化的一方會(huì)將另一方的數(shù)據(jù)清空,造成數(shù)據(jù)完全丟失二.安裝Gperftools安裝tarxzvfgperftools-2.1.tar.gzcdgperftools-2.1../configure--enable-frame-pointersmakemakeinstallmv/usr/local/lib/libtcmalloc.so.4/usr/lib64/Keepalived安裝tarxfke
3、epalived-1.2.12.tar.gzcdkeepalived-1.2.12./configuremake&&makeinstallcp/usr/local/etc/rc.d/init.d/keepalived/etc/init.d/cp/usr/local/etc/sysconfig/keepalived/etc/sysconfig/chmod+x/etc/init.d/keepalivedchkconfig–addkeepalivedmkdir/etc/keepalivedln–s/usr/local/sbin/keepalived/usr/sbinRedis安裝tar
4、xfredis-2.8.10.tar.gzcdredis2.8.10mkdir–p/opt/redismakePREFIX=/opt/redisUSE_TCMALLOC=yesFORCE_LIBC_MALLOC=yesinstall三.配置創(chuàng)建配置文件夾以及文件mkdir-p/opt/redis/etcmkdir-p/opt/redis/runmkdir-p/opt/redis/data/6379mkdir-p/opt/redis/logcp/root/redis-2.8.10/redis.conf/opt/redis/etc/redis.confmv/opt/redis/etc
5、/redis.conf/opt/redis/etc/redis_6379.conf修改配置文件:vim/opt/redis/etc/redis_6379.confdaemonizeyespidfile/opt/redis/run/redis_6379.piddir/opt/redis/data/6379logfile/opt/redis/log/redis_6379.log創(chuàng)建服務(wù)管理腳本vim/etc/init.d/redis#!/bin/shPATH="/opt/redis/bin:$PATH"EXEC="/opt/redis/bin/redis-server"CLIEXEC
6、="/opt/redis/bin/redis-cli"PIDFILE="/opt/redis/run/redis_6379.pid"CONF="/opt/redis/etc/redis_6379.conf"REDISPORT="6379"case"$1"instart)if[-f$PIDFILE]thenecho"$PIDFILEexists,processisalreadyrunningorcrashed."elseecho"StartingRedisserver..."$EXEC$CONFfi;;stop)if[!-f$PIDFILE]thenecho"$PIDFILEdoe
7、snotexist,processisnotrunning."elsePID=$(cat$PIDFILE)echo"Stopping..."$CLIEXEC-p$REDISPORTshutdownwhile[-x/proc/${PID}]doecho"WaitingforRedistoshutdown..."sleep1doneecho"Redisstopped."fi;;*)echo"Usage:$0{start
8、stop}">&2exit1;;esac授權(quán)chmod+x/et