国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Redis Cluster 集群搭建

levy9527 / 846人閱讀

摘要:任何一條主從線下的服務(wù)全部故障,則導(dǎo)致集群不可用。沒(méi)有分配哈希槽的話表示就沒(méi)有存儲(chǔ)數(shù)據(jù)的能力。錯(cuò)誤幫助如果過(guò)程中出現(xiàn)槽錯(cuò)誤分別登錄和執(zhí)行為添加從節(jié)點(diǎn)部署進(jìn)入目錄執(zhí)行八移除集群節(jié)點(diǎn)刪除從節(jié)點(diǎn),因?yàn)闆](méi)有分配哈希槽,所以直接刪除。

【背景】

2年前在本地電腦上搭建過(guò)redis集群。但苦于創(chuàng)業(yè)公司服務(wù)器資源有限(窮),并沒(méi)有應(yīng)用到生產(chǎn)環(huán)境。近期換了個(gè)工作環(huán)境,有資源條件了準(zhǔn)備開(kāi)始搭建使用。雖然搭建過(guò)一次,但在搭建的過(guò)程當(dāng)中,還是遇到一些問(wèn)題,所以打算整理一份詳細(xì)的搭建記錄,也能給大家多一份參考選擇。

【環(huán)境以及資源】

服務(wù)器:windows server 2008 r2 (因?yàn)楝F(xiàn)有服務(wù)器是windows,那我們就在windows上搭建)
下載地址:
Redis:https://github.com/MSOpenTech...(Redis-x64-3.2.100.zip)【Redis服務(wù)】
Ruby:http://dl.bintray.com/oneclic...(rubyinstaller-2.3.3-x64.exe)【Ruby環(huán)境安裝】
rubygems: https://rubygems.org/pages/do...【用于安裝ruby的redis依賴】
redis-trib.rb:https://raw.githubusercontent...【創(chuàng)建集群的ruby腳本】

【部署步驟】 一、部署6個(gè)redis服務(wù)

1、下載redis服務(wù)綠色包 https://github.com/MSOpenTech...(Redis-x64-3.2.100.zip)。我們約定7000、7001、7002 3個(gè)端口為主節(jié)點(diǎn),6000、6001、6002 3個(gè)端口為從節(jié)點(diǎn),便于區(qū)分。那先來(lái)搭建第一redis服務(wù),然后如法炮制復(fù)制另外5個(gè)即可。
2、下載完成解壓,修改文件夾名稱為Redis-6000,修改redis.windows.conf文件里的信息如下:
port 6000 #端口#
cluster-enabled yes #是否開(kāi)啟集群#
cluster-config-file nodes.conf #集群節(jié)點(diǎn)文件,會(huì)根據(jù)配置的名字生成在目錄下#
cluster-node-timeout 15000 #超時(shí)時(shí)間#
appendonly yes
注意:如果你是復(fù)制啟動(dòng)過(guò)的redis服務(wù),記得檢查目錄下是否有appendonly.aof,nodes.conf和.rdb文件(持久化存儲(chǔ)數(shù)據(jù)),刪除他們,否則在創(chuàng)建集群的時(shí)候會(huì)失敗。

3、啟動(dòng)redis服務(wù)
方法一:打開(kāi)cmd,進(jìn)入redis-6000目錄下執(zhí)行命令:redis-server.exe redis.windows.conf。
方法二【推薦】:部署redis到windows服務(wù)里,便于日后使用。cmd進(jìn)入redis-6000目錄,執(zhí)行命令redis-server --service-install redis.windows.conf --service-name Redis6000 --loglevel verbose

打開(kāi)服務(wù)找到redis6000,右擊啟動(dòng)。

啟動(dòng)后查看目錄下會(huì)多出2個(gè)文件

4、這樣我們第一個(gè)redis服務(wù)安裝成功,這時(shí)候這個(gè)redis服務(wù)還不能set數(shù)據(jù),要配置完集群才可。那接著依照同樣的步驟搭建另外5個(gè)redis服務(wù)。

二、安裝Ruby環(huán)境

redis-trib.rb是ruby腳本編寫(xiě)的,可方便的搭建集群,所以我們需要安裝Ruby環(huán)境來(lái)執(zhí)行腳本。

1、打開(kāi)下載地址 http://dl.bintray.com/oneclic... 選擇 rubyinstaller-2.3.3-x64.exe 進(jìn)行下載。
2、運(yùn)行安裝(全部勾選)

3、安裝完畢,測(cè)試是否安裝成功。
打開(kāi)cmd,輸入命令 ruby -v 。顯示版本代表環(huán)境安裝成功。

三、安裝rubygems

使用rubygems是為了安裝ruby的redis依賴。

1、打開(kāi)下載地址 https://rubygems.org/pages/do..., 下載rubygems-update-3.0.2.gem,放到ruby目錄。
2、運(yùn)行命令gem install --local D:Ruby23-x64rubygems-update-3.0.2.gem

3、安裝完成gem后,安裝 Redis依賴,在cmd里繼續(xù)執(zhí)行 gem install redis

四、使用redis-trib.rb安裝集群

1、打開(kāi)下載地址 https://raw.githubusercontent... (指向最新版本),本文使用地址建議https://raw.githubusercontent...,另存為到本地 (一個(gè)文本類文件)。
2、打開(kāi)cmd,進(jìn)入redis-trib.rb文件所在目錄,執(zhí)行創(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:6000 127.0.0.1:6001 127.0.0.1:6002
3、提示后輸入yes

如圖能看到3主3從的配置信息
rediscluster采用了哈希分區(qū)的“虛擬槽分區(qū)”方式,所有的鍵根據(jù)哈希函數(shù)(CRC16[key]&16383)映射到0-16383槽內(nèi),共16384個(gè)槽位。
主節(jié)點(diǎn)7000端口分槽是0-5460,對(duì)應(yīng)從庫(kù)是6001
主節(jié)點(diǎn)7001端口分槽是5461-10922,對(duì)應(yīng)從庫(kù)是6002
主節(jié)點(diǎn)7002端口分槽是10923-16383,對(duì)應(yīng)從庫(kù)是6000

【錯(cuò)誤幫助】

情況1、redis-trib.rb腳本版本與ruby的redis依賴版本不一致

說(shuō)明redis-trib.rb的代碼版本與當(dāng)前ruby安裝的redis依賴版本不匹配。
查看版本方法:打開(kāi)ruby的gems安裝目錄,搜索redis。

https://raw.githubusercontent... (更改鏈接/redis/版本號(hào)/)
下載對(duì)應(yīng)版本的腳本。
情況2:無(wú)法連接其他節(jié)點(diǎn)

確保端口打開(kāi),各臺(tái)機(jī)子上能互相通信

五、數(shù)據(jù)讀寫(xiě)測(cè)試

1、打開(kāi)cmd,進(jìn)入redis6000端口的目錄,輸入redis-cli -h 127.0.0.1 -p 6000 -c(集群連接多個(gè)-c)。隨便連接哪一個(gè)節(jié)點(diǎn)都可以,只要這個(gè)節(jié)點(diǎn)運(yùn)行正常,集群會(huì)自動(dòng)根據(jù)key來(lái)進(jìn)入對(duì)應(yīng)槽點(diǎn)的節(jié)點(diǎn)。
2、我們存入2組key:value進(jìn)行測(cè)試,key:vvv1和age:28,如圖所示age被存入7000,key被存入7002。那對(duì)應(yīng)的從庫(kù)節(jié)點(diǎn)應(yīng)該是6001和6000,我們可以利用工具查看。

六、集群高可用性測(cè)試

首先模擬主節(jié)點(diǎn)7000掛掉,按照預(yù)期從節(jié)點(diǎn)6001選為主節(jié)點(diǎn)。
1、進(jìn)入服務(wù)里停止redis7000
2、查看集群信息,cmd進(jìn)入redis-trib.rb文件目錄,執(zhí)行redis-trib.rb check 127.0.0.1:6001

可以看到從節(jié)點(diǎn)6001(S)已經(jīng)變?yōu)橹鞴?jié)點(diǎn)(M)
3、取值測(cè)試 get age,原來(lái)是從7000節(jié)點(diǎn)里取到的,現(xiàn)在任然取的到,只是是從6001里取到

4、重新啟動(dòng)redis7000,重新查看集群信息

7000變?yōu)閺墓?jié)點(diǎn)。

七、額外添加集群節(jié)點(diǎn)

集群在運(yùn)行了一段時(shí)間之后,由于需求的變動(dòng),我們會(huì)增加或者刪減集群節(jié)點(diǎn)。
主從節(jié)點(diǎn)增加選擇思路:(1)緩存服務(wù)存儲(chǔ)壓力大,增加主節(jié)點(diǎn),橫向擴(kuò)展 (2)保證redis集群高可用,多增加從節(jié)點(diǎn)。任何一條主從線下的redis服務(wù)全部故障,則導(dǎo)致集群不可用。

1、新部署一個(gè)redis服務(wù)端口7003
2、把7003加入集群,cmd進(jìn)入redis-trib.rb文件目錄,執(zhí)行redis-trib.rb add-node 127.0.0.1:7003 127.0.0.1:7000

3、查看集群信息redis-trib.rb check 127.0.0.1:6001

能看到7003已經(jīng)被加入集群,作為主節(jié)點(diǎn)(M),但是這時(shí)候7003并沒(méi)有分槽。沒(méi)有分配哈希槽的話表示就沒(méi)有存儲(chǔ)數(shù)據(jù)的能力。
4、分配槽點(diǎn)
隨便進(jìn)入一個(gè)客戶端,redis-trib.rb reshard 127.0.0.1:7001

(1)問(wèn)我們要移動(dòng)多少個(gè)槽點(diǎn),我們按1W6的槽給4個(gè)主節(jié)點(diǎn)來(lái)均攤,大概是4000個(gè)節(jié)點(diǎn)。
(2)輸入4000,要我們輸入接受節(jié)點(diǎn)的ID,就是7003的ID:28d7e06a951e82d8eca485fe465947100d78090a
(3)接著輸入all回車(chē)后提示輸入yes,就會(huì)從當(dāng)前的其他主節(jié)點(diǎn)里抽取4000個(gè)槽過(guò)來(lái)。

【錯(cuò)誤幫助】

如果過(guò)程中出現(xiàn)槽錯(cuò)誤

分別登錄7002和7003redis執(zhí)行cluster setslot 11237 stable
5、為7003添加從節(jié)點(diǎn)6003
(1)、部署redis6003
(2)、進(jìn)入redis-trib.rb目錄執(zhí)行redis-trib.rb add-node --slave 127.0.0.1:6003 127.0.0.1:7003

八、移除集群節(jié)點(diǎn)

1、刪除從節(jié)點(diǎn),因?yàn)闆](méi)有分配哈希槽,所以直接刪除。IP:端口 ID
redis-trib.rb del-node 127.0.0.1:6003 241c77920bde9952fbf3cb38f7b3085c946b0324

2、刪除主節(jié)點(diǎn),因?yàn)橹鞴?jié)點(diǎn)有分槽,先把槽移動(dòng)至其他主節(jié)點(diǎn),再刪除

總結(jié)

1、搭建完一個(gè)redis節(jié)點(diǎn)后復(fù)制另外5個(gè)。6個(gè)redis節(jié)點(diǎn)是集群的最低配置。3對(duì)1主1從。
2、安裝ruby環(huán)境來(lái)執(zhí)行redis-trib.rb創(chuàng)建集群。還有手動(dòng)創(chuàng)建集群的方式,不需要ruby,但是麻煩一點(diǎn)。
3、在搭建好的集群額外再添加刪除節(jié)點(diǎn)。加主節(jié)點(diǎn)還是從節(jié)點(diǎn)思路:緩存服務(wù)存儲(chǔ)壓力大,增加主節(jié)點(diǎn),橫向擴(kuò)展。保證redis集群高可用,多增加從節(jié)點(diǎn),因?yàn)槿魏我粭l主從線下的redis節(jié)點(diǎn)全部故障,則導(dǎo)致集群不可用。

【如果文章對(duì)你有所幫助,請(qǐng)?jiān)谠u(píng)論區(qū)留言點(diǎn)贊,以資鼓勵(lì)。】

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/62081.html

相關(guān)文章

  • ubuntu/centos 搭建 搭建 redis 集群

    摘要:環(huán)境配置機(jī)器下載獨(dú)立文件位置安裝關(guān)鍵點(diǎn)工具實(shí)現(xiàn)集群復(fù)制到目錄下。創(chuàng)建集群命令發(fā)現(xiàn)環(huán)境需要下安裝方案下安裝方案如果不好用,可以切換到淘寶源然后再次執(zhí)行即可。說(shuō)明集群正常工作。互聯(lián)網(wǎng)時(shí)代,時(shí)刻要保持學(xué)習(xí),攜手千鋒。 1 環(huán)境配置: ubuntu16.04 redis3.0.62 機(jī)器: 192.168.50.156 192.168.50.154 192.168.50.1553 下載red...

    jcc 評(píng)論0 收藏0
  • redis 集群搭建以及redislive監(jiān)測(cè)部署

    摘要:集群搭建以及監(jiān)測(cè)環(huán)境實(shí)現(xiàn)主從的集群虛擬機(jī)單機(jī)集群基本搭建簡(jiǎn)單下載通過(guò)解壓縮指定安裝路徑,切換用戶執(zhí)行,可能出現(xiàn)權(quán)限不夠的問(wèn)題,同樣會(huì)報(bào)錯(cuò),直接使用進(jìn)行操作。分為兩部分,其中一部分為監(jiān)控腳本,另一部分為服務(wù),所以需要分別啟動(dòng)。 redis 集群搭建以及監(jiān)測(cè)環(huán)境 實(shí)現(xiàn)3主3從的集群 虛擬機(jī)單機(jī)ip:192.168.40.128 集群基本搭建 簡(jiǎn)單下載 通過(guò) wget http://dow...

    mmy123456 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<