redis集群

參考 https://redis.io/topics/cluster-tutorial

下載并解壓

tar  -zxvf redis-3.2.4.tar.gz 

編譯安裝

cd redis-3.2.4
make && make install

redis-trib.rb 復(fù)制到 /usr/local/bin 目錄下

Redis 官方提供了 redis-trib.rb 這個(gè)工具實(shí)現(xiàn)cluster

cp redis-trib.rb /usr/local/bin/
yum -y install  ruby  ruby-devel  rubygems  rpm-build
gem install redis

出現(xiàn)的問(wèn)題:

/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/
core_ext/kernel_require.rb:55:in `require': cannot load such file -- redis (LoadError)  
注意 :kernel_require.rb:55:in `require': cannot load such file -- redis  

解決:
可以去https://rubygems.org/gems/redis 下載相應(yīng)版本的redis-3...gem **

gem install -l ~/Downloads/redis-3.2.1.gem

集群配置

建立目錄

mkdir redis_cluster 
cd  redis_cluster
mkdir 7000 7001 7002
cp redis.conf redis_cluster/7000
cp redis.conf redis_cluster/7001
cp redis.conf redis_cluster/7002  

在另一臺(tái)機(jī)器建立7003-7005作為備份殴瘦,也可以再本機(jī)建立些己。

修改redis.conf

port  7000            //端口7000,7002,7003        
bind 本機(jī)ip            //默認(rèn)為127.0.0.1改為其他節(jié)點(diǎn)機(jī)器可訪問(wèn)的ip 否則無(wú)法訪問(wèn)集群
daemonize    yes       //redis后臺(tái)運(yùn)行
pidfile  /var/run/redis_7000.pid          //pidfile文件對(duì)應(yīng)7000,7001,7002
cluster-enabled  yes                //開(kāi)啟集群  把注釋#去掉
cluster-config-file  nodes_7000.conf   //  配置文件首次啟動(dòng)自動(dòng)生成 7000,7001,7002
cluster-node-timeout  15000                //請(qǐng)求超時(shí)  默認(rèn)15秒庆械,可自行設(shè)置
appendonly  yes  

使用vi的替換命令

:.,$s/700a/700b

啟動(dòng)

redis-server redis_cluster/7000/redis.conf
Paste_Image.png

創(chuàng)建集群

./redis-trib.rb create --replicas 1 127.0.0.1:7000 127.0.0.1:7001
 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005;  

*replicas 1:表示1個(gè)salve *

啟動(dòng)成功 ,出現(xiàn):

Paste_Image.png

*Can I set the above configuration? (type 'yes' to accept): yes
輸入yes ,然后出現(xiàn): *

Paste_Image.png

[OK] All 16384 slots covered.

原理

redis cluster去中心化,去中間件,集群中的每個(gè)節(jié)點(diǎn)都是平等红且、對(duì)等的,每個(gè)節(jié)點(diǎn)都保存各>自的數(shù)據(jù)和整個(gè)集群的狀態(tài)涤姊。每個(gè)節(jié)點(diǎn)都和其他所有節(jié)點(diǎn)連接暇番,而且這些連接保持活躍,保
證了我們只需要連接集群中的任意一個(gè)節(jié)點(diǎn)思喊,就可以獲取到其他節(jié)點(diǎn)的數(shù)據(jù)壁酬。
Redis 集群采用哈希槽 (hash slot)的方式來(lái)分配的保證一致性。redis cluster 默認(rèn)分配了16384 個(gè)slot恨课,當(dāng)我們set一個(gè)key 時(shí)舆乔,會(huì)用CRC16算法來(lái)取模得到所屬的slot,然后將這個(gè)>key 分到哈希槽區(qū)間的節(jié)點(diǎn)上剂公,具體算法就是:CRC16(key) % 16384希俩。所以我們?cè)跍y(cè)試>的時(shí)候看到set 和 get 的時(shí)候,直接跳轉(zhuǎn)到了7000端口的節(jié)點(diǎn)纲辽。
Redis 集群會(huì)把數(shù)據(jù)存在一個(gè) master 節(jié)點(diǎn)颜武,然后在這個(gè) master 和其對(duì)應(yīng)的salve 之間進(jìn)行數(shù)>據(jù)同步。當(dāng)讀取數(shù)據(jù)時(shí)拖吼,也根據(jù)一致性哈希算法到對(duì)應(yīng)的 master 節(jié)點(diǎn)獲取數(shù)據(jù)盒刚。只有當(dāng)一個(gè)>master 掛掉之后,才會(huì)啟動(dòng)一個(gè)對(duì)應(yīng)的 salve 節(jié)點(diǎn)绿贞,充當(dāng) master 。
需要注意的是:必須要3個(gè)或以上的主節(jié)點(diǎn)橘原,否則在創(chuàng)建集群時(shí)會(huì)失敗籍铁,并且當(dāng)存活的主節(jié)點(diǎn)>數(shù)小于總節(jié)點(diǎn)數(shù)的一半時(shí),整個(gè)集群就無(wú)法提供服務(wù)了趾断。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末拒名,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子芋酌,更是在濱河造成了極大的恐慌增显,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,657評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件脐帝,死亡現(xiàn)場(chǎng)離奇詭異同云,居然都是意外死亡糖权,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門炸站,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)星澳,“玉大人,你說(shuō)我怎么就攤上這事旱易〗耍” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,057評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵阀坏,是天一觀的道長(zhǎng)如暖。 經(jīng)常有香客問(wèn)我,道長(zhǎng)忌堂,這世上最難降的妖魔是什么盒至? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,509評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮浸船,結(jié)果婚禮上妄迁,老公的妹妹穿的比我還像新娘。我一直安慰自己李命,他們只是感情好登淘,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,562評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著封字,像睡著了一般黔州。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上阔籽,一...
    開(kāi)封第一講書(shū)人閱讀 51,443評(píng)論 1 302
  • 那天流妻,我揣著相機(jī)與錄音,去河邊找鬼笆制。 笑死绅这,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的在辆。 我是一名探鬼主播证薇,決...
    沈念sama閱讀 40,251評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼匆篓!你這毒婦竟也來(lái)了浑度?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,129評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤鸦概,失蹤者是張志新(化名)和其女友劉穎箩张,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,561評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡先慷,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,779評(píng)論 3 335
  • 正文 我和宋清朗相戀三年饮笛,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片熟掂。...
    茶點(diǎn)故事閱讀 39,902評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡缎浇,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出赴肚,到底是詐尸還是另有隱情素跺,我是刑警寧澤,帶...
    沈念sama閱讀 35,621評(píng)論 5 345
  • 正文 年R本政府宣布誉券,位于F島的核電站指厌,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏踊跟。R本人自食惡果不足惜踩验,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,220評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望商玫。 院中可真熱鬧箕憾,春花似錦、人聲如沸拳昌。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,838評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)炬藤。三九已至御铃,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間沈矿,已是汗流浹背上真。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,971評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留羹膳,地道東北人睡互。 一個(gè)月前我還...
    沈念sama閱讀 48,025評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像陵像,于是被迫代替她去往敵國(guó)和親湃缎。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,843評(píng)論 2 354

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

  • 本文檔翻譯自 http://redis.io/topics/cluster-tutorial 蠢壹。 本文檔是 Red...
    會(huì)跳舞的機(jī)器人閱讀 66,930評(píng)論 2 21
  • 前言 Redis 是我們目前大規(guī)模使用的緩存中間件,由于它強(qiáng)大高效而又便捷的功能九巡,得到了廣泛的使用图贸。單節(jié)點(diǎn)的Red...
    Kevin_ZGJ閱讀 11,681評(píng)論 19 133
  • 1、Redis Cluster的架構(gòu)圖。 架構(gòu)細(xì)節(jié)(1)所有的redis節(jié)點(diǎn)彼此互聯(lián)(PING-PONG機(jī)制),內(nèi)...
    小慕先森閱讀 1,166評(píng)論 0 4
  • 轉(zhuǎn)自:https://www.zybuluo.com/phper/note/195558 前言 redis 是我們...
    yannhuang閱讀 1,683評(píng)論 0 2
  • 下午打電話給父母,老爸說(shuō):“下周一就去住院了沟优,你同學(xué)婁明遠(yuǎn)把住院?jiǎn)伍_(kāi)好了專程開(kāi)車送到家里涕滋,真是很麻煩人家!”。老媽...
    405的阿花閱讀 214評(píng)論 0 0