日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

一、redis Cluster(Redis集群)簡介

  • redis是一個開源的key value存儲系統,受到了廣大互聯網公司的青睞。
  • redis集群采用P2P模式,是完全去中心化的,不存在中心節點或者代理節點;
  • redis集群是沒有統一的入口的,客戶端(client)連接集群的時候連接集群中的任意節點(node)即可,集群內部的節點是相互通信的(PING-PONG機制),每個節點都是一個redis實例;
  • 為了實現集群的高可用,即判斷節點是否健康(能否正常使用),redis-cluster有這么一個投票容錯機制:如果集群中超過半數的節點投票認為某個節點掛了,那么這個節點就掛了(fail)。這是判斷節點是否掛了的方法;
  • 那么如何判斷集群是否掛了呢? -> 如果集群中任意一個節點掛了,而且該節點沒有從節點(備份節點),那么這個集群就掛了。這是判斷集群是否掛了的方法;
  • 那么為什么任意一個節點掛了(沒有從節點)這個集群就掛了呢? -> 因為集群內置了16384個slot(哈希槽),并且把所有的物理節點映射到了這16384[0-16383]個slot上,或者說把這些slot均等的分配給了各個節點。當需要在Redis集群存放一個數據(key-value)時,redis會先對這個key進行crc16算法,然后得到一個結果。再把這個結果對16384進行求余,這個余數會對應[0-16383]其中一個槽,進而決定key-value存儲到哪個節點中。所以一旦某個節點掛了,該節點對應的slot就無法使用,那么就會導致集群無法正常工作。
  • 綜上所述,每個Redis集群理論上最多可以有16384個節點。

二、集群搭建需要的環境
2.1 Redis集群至少需要3個節點,因為投票容錯機制要求超過半數節點認為某個節點掛了該節點才是掛了,所以2個節點無法構成集群。
2.2 要保證集群的高可用,需要每個節點都有從節點,也就是備份節點,所以Redis集群至少需要6臺服務器。因為我沒有那么多服務器,也啟動不了那么多虛擬機,所在這里搭建的是偽分布式集群,即一臺服務器虛擬運行6個redis實例,修改端口號為(7001-7006),當然實際生產環境的Redis集群搭建和這里是一樣的。
2.3 安裝ruby
三、集群搭建具體步驟如下(注意要關閉防火墻)
3.1 在usr/local目錄下新建redis-cluster目錄,用于存放集群節點

redis cluster搭建實踐(非常詳細,值得收藏)

 

3.2 把redis目錄下的bin目錄下的所有文件復制到/usr/local/redis-cluster/redis01目錄下,不用擔心這里沒有redis01目錄,會自動創建的。操作命令如下(注意當前所在路徑):

cp -r redis/bin/ redis-cluster/redis01
1
redis cluster搭建實踐(非常詳細,值得收藏)

 

3.3 刪除redis01目錄下的快照文件dump.rdb,并且修改該目錄下的redis.cnf文件,具體修改兩處地方:一是端口號修改為7001,二是開啟集群創建模式,打開注釋即可。分別如下圖所示:
刪除dump.rdb文件

redis cluster搭建實踐(非常詳細,值得收藏)

 

修改端口號為7001,默認是6379

redis cluster搭建實踐(非常詳細,值得收藏)

 

將cluster-enabled yes 的注釋打開

redis cluster搭建實踐(非常詳細,值得收藏)

 

3.4 將redis-cluster/redis01文件復制5份到redis-cluster目錄下(redis02-redis06),創建6個redis實例,模擬Redis集群的6個節點。然后將其余5個文件下的redis.conf里面的端口號分別修改為7002-7006。分別如下圖所示:
創建redis02-06目錄

redis cluster搭建實踐(非常詳細,值得收藏)

 

分別修改redis.conf文件端口號為7002-7006

redis cluster搭建實踐(非常詳細,值得收藏)

 

需要C/C++ linux服務器架構師學習資料私信“資料”(資料包括C/C++,Linux,golang技術,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒體,CDN,P2P,K8S,Docker,TCP/IP,協程,DPDK,ffmpeg等),免費分享

redis cluster搭建實踐(非常詳細,值得收藏)

 

3.5 接著啟動所有redis節點,由于一個一個啟動太麻煩了,所以在這里創建一個批量啟動redis節點的腳本文件,命令為start-all.sh,文件內容如下:

cd redis01
./redis-server redis.conf
cd ..
cd redis02
./redis-server redis.conf
cd ..
cd redis03
./redis-server redis.conf
cd ..
cd redis04
./redis-server redis.conf
cd ..
cd redis05
./redis-server redis.conf
cd ..
cd redis06
./redis-server redis.conf
cd ..

3.6 創建好啟動腳本文件之后,需要修改該腳本的權限,使之能夠執行,指令如下:

chmod +x start-all.sh
redis cluster搭建實踐(非常詳細,值得收藏)

 

3.7 執行start-all.sh腳本,啟動6個redis節點

redis cluster搭建實踐(非常詳細,值得收藏)

 


3.8 至此6個redis節點啟動成功,接下來正式開啟搭建集群,以上都是準備條件。大家不要覺得圖片多看起來冗長所以覺得麻煩,其實以上步驟也就一句話的事情:創建6個redis實例(6個節點)并啟動。
要搭建集群的話,需要使用一個工具(腳本文件),這個工具在redis解壓文件的源代碼里。因為這個工具是一個ruby腳本文件,所以這個工具的運行需要ruby的運行環境,就相當于JAVA語言的運行需要在jvm上。所以需要安裝ruby,指令如下:

yum install ruby

然后需要把ruby相關的包安裝到服務器,我這里用的是redis-3.0.0.gem,大家需要注意的是:redis的版本和ruby包的版本最好保持一致。
將Ruby包安裝到服務器:需要先下載再安裝,如圖

redis cluster搭建實踐(非常詳細,值得收藏)

 

安裝命令如下:

gem install redis-3.0.0.gem
redis cluster搭建實踐(非常詳細,值得收藏)

 

3.9 上一步中已經把ruby工具所需要的運行環境和ruby包安裝好了,接下來需要把這個ruby腳本工具復制到usr/local/redis-cluster目錄下。那么這個ruby腳本工具在哪里呢?之前提到過,在redis解壓文件的源代碼里,即redis/src目錄下的redis-trib.rb文件。

redis cluster搭建實踐(非常詳細,值得收藏)

 


redis cluster搭建實踐(非常詳細,值得收藏)

 

3.10 將該ruby工具(redis-trib.rb)復制到redis-cluster目錄下,指令如下:

cp redis-trib.rb /usr/local/redis-cluster

然后使用該腳本文件搭建集群,指令如下:

./redis-trib.rb create --replicas 1 47.106.219.251:7001 47.106.219.251:7002 47.106.219.251:7003 47.106.219.251:7004 47.106.219.251:7005 47.106.219.251:7006

注意:此處大家應該根據自己的服務器ip輸入對應的ip地址!

redis cluster搭建實踐(非常詳細,值得收藏)

 

中途有個地方需要手動輸入yes即可

redis cluster搭建實踐(非常詳細,值得收藏)

 

至此,Redi集群搭建成功!大家注意最后一段文字,顯示了每個節點所分配的slots(哈希槽),這里總共6個節點,其中3個是從節點,所以3個主節點分別映射了0-5460、5461-10922、10933-16383solts。

3.11 最后連接集群節點,連接任意一個即可:

redis01/redis-cli -p 7001 -c 

注意:一定要加上-c,不然節點之間是無法自動跳轉的!如下圖可以看到,存儲的數據(key-value)是均勻分配到不同的節點的:

redis cluster搭建實踐(非常詳細,值得收藏)

 

到這里就搭建好了Redis集群。

最后,加上兩條redis集群基本命令:
1.查看當前集群信息

cluster info

2.查看集群里有多少個節點

cluster nodes

分享到:
標簽:redis cluster
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定