分布式緩存利器之Redis集群安裝與配置

引言:在之前的幾篇文章中依次介紹了分布式緩存技術(shù)以及Redis的基本知識和Redis主從復(fù)制模式和哨兵模式的安裝中捆,接下來將帶領(lǐng)大家進(jìn)行Redis集群模式的安裝(企業(yè)級應(yīng)用開發(fā)中鞋既,此種模式最為常見)几莽。
1.分布式緩存技術(shù)總結(jié)筆記
2.分布式緩存利器之Redis
3.分布式緩存利器之Redis安裝與配置

1.集群概述

在redis3.0以前,提供了Sentinel工具來監(jiān)控各Master的狀態(tài)沸久,如果Master異常磷醋,則會做主從切換,將slave作為master墓猎,將master作為slave捆昏。其配置也是稍微的復(fù)雜,并且各方面表現(xiàn)一般”姓矗現(xiàn)在redis3.0已經(jīng)支持集群的容錯(cuò)功能骗卜,并且非常簡單。
每個(gè)集群有hash槽的概念,hash槽相當(dāng)于索引的概念左胞,可以快速定位到相應(yīng)的節(jié)點(diǎn)進(jìn)行數(shù)據(jù)查詢--主節(jié)點(diǎn)才有槽的概念寇仓,從節(jié)點(diǎn)主讀。

2.集群搭建

Redis集群的搭建至少需要三主三從烤宙,故為了簡單起見遍烦,本事例在單機(jī)上模擬出集群模式,實(shí)際生產(chǎn)環(huán)境可以按本步驟稍微改一下配置即可门烂。
本集群搭建方案如下表所示:

集群搭建方案.png

在一個(gè)單機(jī)中搭建集群乳愉,端口肯定不同,故如上表所示屯远,每個(gè)文件夾(目錄7001-7006)即代表一個(gè)節(jié)點(diǎn)(為方便蔓姚,其端口號也為該目錄名稱)。

2.1 創(chuàng)建集群節(jié)點(diǎn)目錄

創(chuàng)建一個(gè)文件夾redis-cluster慨丐,然后在其下面分別創(chuàng)建6個(gè)文件夾如下坡脐,7001-7006,作為集群的配置文件存放目錄房揭,在redis-cluster下創(chuàng)建/bin文件夾存放服務(wù)腳本备闲。

mkdir -p /usr/local/redis-cluster
mkdir 7001 7002 7003 7004 7005 7006
mkdir cluster/bin
mkdir cluster/700*/data
(以下執(zhí)行腳本在/usr/local/redis-3.2.8/src和/usr/local/bin目錄下) 
mv mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-dump redis-cli redis-server redis-trib.rb  /usr/local/redis-cluster/bin

所有操作完成后晌端,如下圖所示:

集群根目錄情況.png
執(zhí)行腳本bin目錄情況.png

2.2 集群配置

把之前的redis.conf配置文件(可參考文章分布式緩存利器之Redis安裝與配置)分別copy到700下,進(jìn)行修改各個(gè)文件內(nèi)容恬砂,也就是對700下的每一個(gè)copy的redis.conf文件進(jìn)行修改如下:

(1)daemonize yes
(2)port 700*(分別對每個(gè)機(jī)器的端口號進(jìn)行設(shè)置)
(3)bind 192.168.56.200 (必須要綁定當(dāng)前機(jī)器的ip咧纠,不然會無限悲劇下去哇..深坑勿入!P褐琛F岣帷)
(4)dir /usr/local/redis-cluster/700*/data/(指定數(shù)據(jù)文件存放位置,必須要指定不同的目錄位置狱掂,不然會丟失數(shù)據(jù)演痒,深坑勿入!G鞑摇D袼场)
(5)cluster-enabled yes(啟動(dòng)集群模式,開始玩耍)
(6)cluster-config-file nodes700*.conf(這里700x最好和port對應(yīng)上)
(7)cluster-node-timeout 5000
(8)appendonly yes

節(jié)點(diǎn)7001下的情況如下:

節(jié)點(diǎn)7001.png

2.3 安裝ruby

由于redis集群需要使用ruby命令器虾,所以我們需要安裝ruby讯嫂。

(1)yum install ruby
(2)yum install rubygems
(3)gem install redis (安裝redis和ruby的接口)

2.4 啟動(dòng)驗(yàn)證

分別啟動(dòng)6個(gè)redis實(shí)例,然后檢查是否啟動(dòng)成功

(1)/usr/local/redis-cluster/bin/redis-server /usr/local/redis-cluster/700*/redis.conf
(2)ps -el | grep redis 查看是否啟動(dòng)成功

啟動(dòng)驗(yàn)證如下圖所示曾撤,即表示啟動(dòng)成功:

啟動(dòng)成功.png

2.5 建立集群主從關(guān)系

建立集群主從關(guān)系需要執(zhí)行redis-trib.rb命令

/usr/local/redis-cluster/bin/redis-trib.rb  create --replicas 1 192.168.56.200:7001 192.168.56.200:7002 192.168.56.200:7003 192.168.56.200:7004 192.168.56.200:7005 192.168.56.200:7006

2.6 集群驗(yàn)證

到此為止我們集群搭建成功端姚!進(jìn)行驗(yàn)證:
(1)連接任意一個(gè)客戶端即可:./redis-cli -c -h -p (-c表示集群模式,指定ip地址和端口號)如:
/usr/local/redis-cluster/bin/redis-cli -c -h 192.168.56.200 -p 7001

客戶端連接操作.png

(2)進(jìn)行驗(yàn)證:cluster info(查看集群信息)挤悉、cluster nodes(查看節(jié)點(diǎn)列表)

集群信息.png
節(jié)點(diǎn)列表.png

(3)進(jìn)行數(shù)據(jù)操作驗(yàn)證
(4)關(guān)閉集群則需要逐個(gè)進(jìn)行關(guān)閉渐裸,使用命令:

/usr/local/redis-cluster/bin/redis-cli -c -h 192.168.56.200 -p 7001 shutdown

2.7 開機(jī)自啟動(dòng)

如果需要開機(jī)自動(dòng)啟動(dòng)redis集群服務(wù),則做如下配置即可:
vim /etc/rc.local

/usr/local/redis-cluster/bin/redis-server /usr/local/redis-cluster/7001/redis.conf
/usr/local/redis-cluster/bin/redis-server /usr/local/redis-cluster/7002/redis.conf
/usr/local/redis-cluster/bin/redis-server /usr/local/redis-cluster/7003/redis.conf
/usr/local/redis-cluster/bin/redis-server /usr/local/redis-cluster/7004/redis.conf
/usr/local/redis-cluster/bin/redis-server /usr/local/redis-cluster/7005/redis.conf
/usr/local/redis-cluster/bin/redis-server /usr/local/redis-cluster/7006/redis.conf

2.8 注意事項(xiàng)

當(dāng)出現(xiàn)集群無法啟動(dòng)時(shí)装悲,刪除臨時(shí)的數(shù)據(jù)文件昏鹃,再次重新啟動(dòng)每一個(gè)redis服務(wù),然后重新構(gòu)造集群環(huán)境诀诊。
至此洞渤,Redis集群的搭建與配置就全部完成,如果有哪里不明白或者不正確的地方属瓣,大家可以留言或者評論载迄,歡迎大家指正!

我是一名奮斗在二線城市抡蛙,每天擠公交上班寫代碼的程序猿护昧!勵(lì)志在有限的時(shí)間能夠貢獻(xiàn)出自己最大的能量!請持續(xù)關(guān)注粗截!我在簡書等你惋耙!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子绽榛,更是在濱河造成了極大的恐慌湿酸,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,406評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件灭美,死亡現(xiàn)場離奇詭異推溃,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)冲粤,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,395評論 3 398
  • 文/潘曉璐 我一進(jìn)店門美莫,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人梯捕,你說我怎么就攤上這事∥涯欤” “怎么了傀顾?”我有些...
    開封第一講書人閱讀 167,815評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長碌奉。 經(jīng)常有香客問我短曾,道長,這世上最難降的妖魔是什么赐劣? 我笑而不...
    開封第一講書人閱讀 59,537評論 1 296
  • 正文 為了忘掉前任嫉拐,我火速辦了婚禮,結(jié)果婚禮上魁兼,老公的妹妹穿的比我還像新娘婉徘。我一直安慰自己,他們只是感情好咐汞,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,536評論 6 397
  • 文/花漫 我一把揭開白布盖呼。 她就那樣靜靜地躺著,像睡著了一般化撕。 火紅的嫁衣襯著肌膚如雪几晤。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,184評論 1 308
  • 那天植阴,我揣著相機(jī)與錄音蟹瘾,去河邊找鬼。 笑死掠手,一個(gè)胖子當(dāng)著我的面吹牛憾朴,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播惨撇,決...
    沈念sama閱讀 40,776評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼伊脓,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起报腔,我...
    開封第一講書人閱讀 39,668評論 0 276
  • 序言:老撾萬榮一對情侶失蹤株搔,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后纯蛾,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體纤房,經(jīng)...
    沈念sama閱讀 46,212評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,299評論 3 340
  • 正文 我和宋清朗相戀三年翻诉,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了炮姨。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,438評論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡碰煌,死狀恐怖舒岸,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情芦圾,我是刑警寧澤蛾派,帶...
    沈念sama閱讀 36,128評論 5 349
  • 正文 年R本政府宣布,位于F島的核電站个少,受9級特大地震影響洪乍,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜夜焦,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,807評論 3 333
  • 文/蒙蒙 一壳澳、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧茫经,春花似錦巷波、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,279評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至瞪慧,卻和暖如春髓考,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背弃酌。 一陣腳步聲響...
    開封第一講書人閱讀 33,395評論 1 272
  • 我被黑心中介騙來泰國打工氨菇, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人妓湘。 一個(gè)月前我還...
    沈念sama閱讀 48,827評論 3 376
  • 正文 我出身青樓查蓉,卻偏偏與公主長得像,于是被迫代替她去往敵國和親榜贴。 傳聞我的和親對象是個(gè)殘疾皇子豌研,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,446評論 2 359

推薦閱讀更多精彩內(nèi)容