資源描述:
《redis主從集群搭建及容災(zāi)部署(哨兵sentinel)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、Redis主從集群搭建及容災(zāi)部署(哨兵sentinel)目錄1.Redis安裝2.Redis主從結(jié)構(gòu)搭建3.Redis容災(zāi)部署(哨兵sentinel)4.Redis常見問題5.參考1.redis安裝1.1.liunx環(huán)境搭建1:發(fā)行版:CentOS-6.664bit2:內(nèi)核:2.6.32-504.el6.x86_643:CPU:intel-i73.6G:4:內(nèi)存:2G1.2.下載redis服務(wù)端1:下載redis。官網(wǎng)下載3.0.0版本,之前2.幾的版本不支持集群模式下載地址:https://g
2、ithub.com/antirez/redis/archive/3.0.0-rc2.tar.gz2:上傳服務(wù)器,解壓,編譯tar?-zxvf?redis-3.0.0-rc2.tar.gz?mv?redis-3.0.0-rc2.tar.gz?redis3.0cd?/usr/local/redis3.0makemake?install1.redis主從結(jié)構(gòu)搭建2.1.搭建redismaster1:節(jié)點(diǎn)規(guī)劃6301:主6302:從6303:從26371:哨兵模式節(jié)點(diǎn)一26372:哨兵模式節(jié)點(diǎn)二2637
3、3:哨兵模式節(jié)點(diǎn)三2:復(fù)制配置文件mkdirredis-groupcpredis.conf../redis-group/redis-6301.confcpredis.conf../redis-group/redis-6302.confcpredis.conf../redis-group/redis-6303.conf3:修改配置文件redis-xxxx.conf#守護(hù)進(jìn)程模式daemonize?yes#pidfilepidfile/var/run/redis.pid#監(jiān)聽端口port6301#T
4、CP接收隊(duì)列長度,受/proc/sys/net/core/somaxconn和tcp_max_syn_backlog這兩個(gè)內(nèi)核參數(shù)的影響tcp-backlog511#一個(gè)客戶端空閑多少秒后關(guān)閉連接(0代表禁用,永不關(guān)閉)timeout0#如果非零,則設(shè)置SO_KEEPALIVE選項(xiàng)來向空閑連接的客戶端發(fā)送ACKtcp-keepalive60#指定服務(wù)器調(diào)試等級#可能值:#debug(大量信息,對開發(fā)/測試有用)#verbose(很多精簡的有用信息,但是不像debug等級那么多)#notice(適
5、量的信息,基本上是你生產(chǎn)環(huán)境中需要的)#warning(只有很重要/嚴(yán)重的信息會(huì)記錄下來)loglevelnotice#指明日志文件名logfile"./redis6301.log"#設(shè)置數(shù)據(jù)庫個(gè)數(shù)databases16#會(huì)在指定秒數(shù)和數(shù)據(jù)變化次數(shù)之后把數(shù)據(jù)庫寫到磁盤上#900秒(15分鐘)之后,且至少1次變更#300秒(5分鐘)之后,且至少10次變更#60秒之后,且至少10000次變更save9001save30010save6010000#默認(rèn)如果開啟RDB快照(至少一條save指令)并且最
6、新的后臺保存失敗,Redis將會(huì)停止接受寫操作#這將使用戶知道數(shù)據(jù)沒有正確的持久化到硬盤,否則可能沒人注意到并且造成一些災(zāi)難stop-writes-on-bgsave-erroryes#當(dāng)導(dǎo)出到.rdb數(shù)據(jù)庫時(shí)是否用LZF壓縮字符串對象rdbcompressionyes#版本5的RDB有一個(gè)CRC64算法的校驗(yàn)和放在了文件的最后。這將使文件格式更加可靠。rdbchecksumyes#持久化數(shù)據(jù)庫的文件名dbfilenamedump.rdb#工作目錄dir./#當(dāng)master服務(wù)設(shè)置了密碼保護(hù)時(shí),
7、slav服務(wù)連接master的密碼masterauth0234kz9*l#當(dāng)一個(gè)slave失去和master的連接,或者同步正在進(jìn)行中,slave的行為可以有兩種:##1)如果slave-serve-stale-data設(shè)置為"yes"(默認(rèn)值),slave會(huì)繼續(xù)響應(yīng)客戶端請求,#可能是正常數(shù)據(jù),或者是過時(shí)了的數(shù)據(jù),也可能是還沒獲得值的空數(shù)據(jù)。#2)如果slave-serve-stale-data設(shè)置為"no",slave會(huì)回復(fù)"正在從master同步#(SYNCwithmasterinprog
8、ress)"來處理各種請求,除了INFO和SLAVEOF命令。slave-serve-stale-datayes#你可以配置salve實(shí)例是否接受寫操作??蓪懙膕lave實(shí)例可能對存儲臨時(shí)數(shù)據(jù)比較有用(因?yàn)閷懭雜alve#的數(shù)據(jù)在同master同步之后將很容易被刪除slave-read-onlyyes#是否在slave套接字發(fā)送SYNC之后禁用TCP_NODELAY?#如果你選擇“yes”Redis將使用更少的TCP包和帶寬來向slaves發(fā)送數(shù)據(jù)。但是這將使數(shù)據(jù)傳輸?shù)絪lave#上有延遲,Li