歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux技術

Redis3.0.7 cluster/集群 安裝配置教程

原文地址:http://blog.csdn.net/ouchuquan/article/details/50884479
參考地址:http://doc.redisfans.com/topic/cluster-tutorial.html
http://www.cnblogs.com/langtianya/archive/2013/01/31/2883867.html
1、前言
環境:CentOS-6.7-i386-LiveDVD 安裝的CentOs系統
節點: 6個節點,3個主節點、3個從節點(由於redis默認需要3個主節點,如果想每個主節點有一個從節點,這是最低配要求)
配置:端口都采用默認的6379
redis版本:目前官網最新的redis stable版本為:3.0.7(時間點:2016年3月10日)。
2、獲取源碼
在每台機器用命令:webget http://download.redis.io/releases/redis-3.0.7.tar.gz 獲取redis3.0.7源碼到你linux某目錄。
3、修改配置
執行命令 tar -xvf redis-3.0.7.tar.gz 解壓得到redis-3.0.7文件夾,修改其下的redis.conf,主要修改下面幾項:
daemonize yes                                          # redis默認不是後台啟動,這裡修改成後台啟動
cluster-enabled yes                                    # 允許redis支持集群模式
cluster-config-file nodes.conf                         # 節點配置文件
cluster-node-timeout 15000                             # 節點超時毫秒
appendonly yes
#port 7000                                             #如果你需要自定義端口可以用這個選項

注意:6個節點下的redis.conf都需要修改,可以修改一個之後拷貝過去。
4、編譯源碼
然後在6個節點的redis-3.0.7目錄下執行 make 命令,編譯源碼,編譯好後會在src文件夾生成redis-server等二進制文件
5、啟動實例
在6個節點的redis-3.0.7目錄下分別執行命令 src/redis-server,默認會使用redis.conf配置 ,這樣每個節點就啟動了一個實例。
6、搭建redis集群(在其中一個節點操作就可以了)
通過使用 Redis 集群命令行工具 redis-trib 創建集群, redis-trib 位於 Redis 源碼的 src 文件夾中, 它是一個 Ruby 程序, 這個程序通過向實例發送特殊命令來完成創建新集群, 檢查集群, 或者對集群進行重新分片(reshared)等工作。請先來到redis解壓目錄,cd src 進入src目錄,然後執行下面命令:
./redis-trib.rb create --replicas 1 xxx.xxx.xxx.1:6379 xxx.xxx.xxx.2:6379 xxx.xxx.xxx.3:6379 xxx.xxx.xxx.4:6379 xxx.xxx.xxx.5:6379 xxx.xxx.xxx.6:6379

注意ip修改成自己的~~
命令的意義如下:
給定 redis-trib.rb 程序的命令是 create , 這表示我們希望創建一個新的集群。
選項 --replicas 1 表示我們希望為集群中的每個主節點創建一個從節點。
之後跟著的其他參數則是實例的地址列表, 我們希望程序使用這些地址所指示的實例來創建新集群。
簡單來說, 以上命令的意思就是讓 redis-trib 程序創建一個包含三個主節點和三個從節點的集群。
接著, redis-trib 會打印出一份預想中的配置給你看, 如果你覺得沒問題的話, 就可以輸入 yes , redis-trib 就會將這份配置應用到集群當中:

>>> Creating cluster
Connecting to node xxx.xxx.xxx.1:6379: OK
Connecting to node xxx.xxx.xxx.2:6379: OK
Connecting to node xxx.xxx.xxx.3:6379: OK
Connecting to node xxx.xxx.xxx.4:6379: OK
Connecting to node xxx.xxx.xxx.5:6379: OK
Connecting to node xxx.xxx.xxx.6:6379: OK
>>> Performing hash slots allocation on 6 nodes...
Using 3 masters:
xxx.xxx.xxx.1:6379
xxx.xxx.xxx.2:6379
xxx.xxx.xxx.3:6379
xxx.xxx.xxx.1:6379 replica #1 is xxx.xxx.xxx.4:6379
xxx.xxx.xxx.2:6379 replica #1 is xxx.xxx.xxx.5:6379
xxx.xxx.xxx.3:6379 replica #1 is xxx.xxx.xxx.6:6379
M: 9991306f0e50640a5684f1958fd754b38fa034c9 xxx.xxx.xxx.1:6379
slots:0-5460 (5461 slots) master
M: e68e52cee0550f558b03b342f2f0354d2b8a083b xxx.xxx.xxx.2:6379
slots:5461-10921 (5461 slots) master
M: 393c6df5eb4b4cec323f0e4ca961c8b256e3460a xxx.xxx.xxx.3:6379
slots:10922-16383 (5462 slots) master
S: 48b728dbcedff6bf056231eb44990b7d1c35c3e0 xxx.xxx.xxx.4:6379
S: 345ede084ac784a5c030a0387f8aaa9edfc59af3 xxx.xxx.xxx.5:6379
S: 3375be2ccc321932e8853234ffa87ee9fde973ff xxx.xxx.xxx.6:6379
Can I set the above configuration? (type 'yes' to accept): yes


7、測試集群
redis-cli -c -h xxx.xxx.xxx.1(集群中任意一個ip) -p 6379
8、附
好吧,最後我承認我是用虛擬機測試的,並且在單台虛擬機機器上啟動6個實例,而以上是接近生產的配置流程,方便參考。下面配上一些圖,是我當時測試的實際情況,如下
啟動集群:

讓各個節點開始互相通訊:

測試集群:

轉載請注明:http://www.cnblogs.com/langtianya/p/5254856.html
參考:/content/7262265.html
官方文檔中文版(翻譯):集教程群
官方英文版請看:Redis cluster tutorial
此文首發博客園:http://www.cnblogs.com/langtianya/p/5254856.html
Copyright © Linux教程網 All Rights Reserved