redis之 3.0叢集安裝

來源:互聯網
上載者:User

標籤:叢集   elf   db2   連接埠   red   ica   物理   ruby   路徑   

1.  叢集

即使有了主從複製,每個資料庫都要儲存整個叢集中的所有資料,容易形成木桶效應。

 

使用Jedis實現了分區叢集,是由用戶端控制哪些key資料儲存到哪個資料庫中,如果在水平擴容時就必須手動進行資料移轉,而且需要將整個叢集停止服務,這樣做非常不好的。

 

Redis3.0版本的一大特性就是叢集(Cluster),接下來我們一起學習叢集。

1.0.  架構

 

(1)所有的redis節點彼此互聯(PING-PONG機制),內部使用二進位協議最佳化傳輸速度和頻寬.

(2)節點的fail是通過叢集中超過半數的節點檢測失效時才生效.

(3)用戶端與redis節點直連,不需要中間proxy層.用戶端不需要串連叢集所有節點,串連叢集中任何一個可用節點即可

(4)redis-cluster把所有的物理節點映射到[0-16383]slot(插槽)上,cluster 負責維護node<->slot<->value

 

1.1. 解壓安裝包

[[email protected] local]# pwd
/usr/local
[[email protected] redis]# tar -zxvf redis-3.0.2.tar.gz
[[email protected] redis]# ln -s redis-3.0.2 redis

[[email protected] redis]# pwd
/usr/local/redis
[[email protected] redis]# make
[[email protected] redis]# make install PREFIX=/usr/local/redis

# 建立六個執行個體目錄
[[email protected] redis]# mkdir /usr/local/redis7001
[[email protected] redis]# mkdir /usr/local/redis7002
[[email protected] redis]# mkdir /usr/local/redis7003
[[email protected] redis]# mkdir /usr/local/redis7004
[[email protected] redis]# mkdir /usr/local/redis7005
[[email protected] redis]# mkdir /usr/local/redis7006

# 拷貝軟體到相應的執行個體
[[email protected] redis]# pwd
/usr/local/redis
[[email protected] redis]# cp -rf * /usr/local/redis7001
[[email protected] redis]# cp -rf * /usr/local/redis7002
[[email protected] redis]# cp -rf * /usr/local/redis7003
[[email protected] redis]# cp -rf * /usr/local/redis7004
[[email protected] redis]# cp -rf * /usr/local/redis7005
[[email protected] redis]# cp -rf * /usr/local/redis7006

 

1.2.  修改設定檔

1、 設定不同的連接埠,7001、7002、7003、7004、7005、7006

2、 開啟叢集,cluster-enabled yes

3、 指定叢集的設定檔,cluster-config-file "nodes-xxxx.conf"

4、開啟redis後台執行,    daemonize yes

5、啟動叢集

1.3.  建立叢集1.3.1.  安裝ruby環境

因為redis-trib.rb是有ruby語言編寫的所以需要安裝ruby環境。

yum -y install zlib ruby rubygems

gem install redis

手動安裝:

rz上傳redis-3.2.1.gem

gem install -l redis-3.2.1.gem

1.3.2.  建立叢集

首先,進入redis的安裝包路徑下:

cd /usr/local/src/redis/redis-3.0.1/src/

執行命令:

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

--replicas 0:指定了從資料的數量為0 ,如果指定為1的話,每個叢集節點會有一個副本

注意:這裡不能使用127.0.0.1,否則在Jedis用戶端使用時無法串連到!

redis-trib用法:

 

1.3.3.  叢集檢測

[[email protected] redis7001]# redis-cli -p 7001
127.0.0.1:7001> cluster nodes
dbec41c5a8406c18810a9962ed68068fbcf9aaac 10.100.25.44:7005 slave d277e9e7267b8e6f7da2e72b0d4070868c51bfe3 0 1538674374274 5 connected
d42782bf3eaf1e130d0d694533f3e1bea7e3ef2c 10.100.25.44:7003 master - 0 1538674373770 3 connected 10923-16383
9a0ab8d1772787bde727b0e78b1b8db242f60d2b 10.100.25.44:7004 slave 1e0d1bea4f1f95ca2d673bbbe342afa2646e942b 0 1538674376293 4 connected
17d51731c87847ed5dd6d78146f68a899e0028ab 10.100.25.44:7006 slave d42782bf3eaf1e130d0d694533f3e1bea7e3ef2c 0 1538674371251 6 connected
d277e9e7267b8e6f7da2e72b0d4070868c51bfe3 10.100.25.44:7002 master - 0 1538674375284 2 connected 5461-10922
1e0d1bea4f1f95ca2d673bbbe342afa2646e942b 10.100.25.44:7001 myself,master - 0 0 1 connected 0-5460

 

redis之 3.0叢集安裝

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.