ubuntu 安裝 redis集羣

計劃部署三個虛擬機 三個master節點 三個slave節點: html

IP:192.168.26.133   port:7133(master)   port:8133(slave) node

IP:192.168.26.134   port:7134(master)   port:8134(slave) redis

IP:192.168.26.135   port:7135(master)   port:8135(slave)
ruby

統一安裝目錄: /home/develop/redis app

安裝須要的包 gcc tcl 測試

sudo apt-get install gcc ui

sudo apt-get install tcl spa


建立目錄 redis-master redis-slave .net

mkdir redis-master 翻譯

mkdir redis-slave


下載redis-3.0.3

wget http://download.redis.io/releases/redis-3.0.3.tar.gz 

tar -zxvf redis-3.0.3.tar.gz


192.168.26.133:

mkdir -p /home/develop/redis/cluster/7133

mkdir -p /home/develop/redis/cluster/8133

192.168.26.134:

mkdir -p /home/develop/redis/cluster/7134

mkdir -p /home/develop/redis/cluster/8134

192.168.26.135:

mkdir -p /home/develop/redis/cluster/7135

mkdir -p /home/develop/redis/cluster/8135


cd redis-3.0.3/

三個虛擬機分別執行:
make PREFIX=/home/develop/redis/redis-master install

make PREFIX=/home/develop/redis/redis-slave install


192.168.26.133:

cp redis-3.0.3/redis.conf cluster/7133/redis-7133.conf
cp redis-3.0.3/redis.conf cluster/8133/redis-8133.conf

192.168.26.134:

cp redis-3.0.3/redis.conf cluster/7134/redis-7134.conf
cp redis-3.0.3/redis.conf cluster/8134/redis-8134.conf

192.168.26.135:

cp redis-3.0.3/redis.conf cluster/7135/redis-7135.conf
cp redis-3.0.3/redis.conf cluster/8135/redis-8135.conf


修改redis-xxxx.conf配置文件

demonize                        yes                                     是否做爲守護進程運行 

pidfile                            /var/run/redis-7133.pid        其餘相應修改成各自端口的

port                               7133                                    監聽端口,默認爲 6379。 其餘節點相應修改成各自端口 8133 7134 8134 7135 8135

cluster-enabled               yes                                      打開集羣

cluster-config-flie           /home/develop/redis/cluster/7133/nodes.conf  集羣配置文件(啓動自動生成),不用人爲干涉 

cluster-node-timeout      15000                                   節點互連超時時間,毫秒

cluster-migration-bareier 1                                         數據遷移的副本臨界數,這個參數表示的是,一個主節 點在擁有多少個好的從節點的時候就要割讓一個從節 點出來給另外一個沒有任何從節點的主節點。 

cluster-require-full-coverage   yes  若是某一些 key space 沒有被集羣中任何節點覆蓋,集 羣將中止接受寫入。 

appendonly                    yes                                        啓用 aof 持久化方式,由於 redis 自己同步數據文件是按上面 save 條件來同 步的,因此有的數據會在一段時間內只存在於內存中。 默認值爲 no 

dir                                 /home/develop/redis/cluster/7133   節點數據持久化存放目錄,7133相應修改


192.168.26.133:

redis-master/bin/redis-server cluster/7133/redis-7133.conf

redis-slave/bin/redis-server cluster/8133/redis-8133.conf

192.168.26.134:

redis-master/bin/redis-server cluster/7134/redis-7134.conf

redis-slave/bin/redis-server cluster/8134/redis-8134.conf

192.168.26.135:

redis-master/bin/redis-server cluster/7135/redis-7135.conf

redis-slave/bin/redis-server cluster/8135/redis-8135.conf


ps -ef | grep redis


查看redis實例啓動狀況


安裝ruby rubygems

sudo apt-get install ruby

cd ..

wget http://production.cf.rubygems.org/rubygems/rubygems-2.0.3.tgz
tar -zxvf rubygems-2.0.3.tgz
cd rubygems-2.0.3/
sudo ruby setup.rb
sudo gem install redis


執行 Redis 集羣建立命令(只須要在其中一個節點上執行一次則可)

cd /home/develop/redis/redis-3.0.3/src/

cp redis-trib.rb /home/develop/redis/redis-master/bin/redis-trib

cd /home/develop/redis/redis-master/bin/

redis-trib create --replicas 1 192.168.26.133:7133 92.168.26.134:7134 192.168.26.135:7135 192.168.26.133:8133 192.168.26.134:8134 192.168.26.135:813

中間輸入  yes

正常狀況提示 All 16384 slots covered.說明集羣中的 16384 個槽都有至少一個主節點在處理, 集羣運做正常。

集羣建立過程說明:
(1) 給定 redis-trib 程序的命令是 create , 這表示咱們但願建立一個新的集羣;
(2) 這裏的 --replicas 1 表示每一個主節點下有一個從節點;
(3) 以後跟着的其它參數則是實例的地址列表,程序使用這些地址所指示的實例來建立新集羣; 總的來講,以上命令的意思就是讓 redis-trib 程序建立一個包含三個主節點和三個從節點的集羣。 接着,redis-trib 會打印出一份預想中的配置給你看,若是你以爲沒問題的話(注意覈對主從關係是不是 你想要的),就能夠輸入 yes , redis-trib 就會將這份配置應用到集羣當中 

集羣簡單測試 

./redis-cli -h 192.168.26.133 -p 7133

127.0.0.1:7113>set name zhangsan

-> Redirected to slot [8559] located at 192.168.26.134:7134 OK 


./redis-cli -h 192.168.26.133 -p 8133

127.0.0.1:8113>get name

-> Redirected to slot [8559] located at 192.168.26.134:7134 "zhangsan" 


./redis-cli -h 192.168.26.133 -p 7133 cluster nodes

系統列出三個master 三個slave 節點。

OK,配置成功。


參考文檔
Redis 官方集羣指南:http://redis.io/topics/cluster-tutorial
Redis 官方集羣規範:http://redis.io/topics/cluster-spec
Redis 集羣指南(中文翻譯,緊供參考):http://redisdoc.com/topic/cluster-tutorial.html 

Redis 集羣規範(中文翻譯,緊供參考): http://redisdoc.com/topic/cluster-spec.html 


其它供參考資料
Redis 3.0 集羣搭建測試(一):http://blog.csdn.net/zhu_tianwei/article/details/44928779 

Redis 3.0 集羣搭建測試(二):http://blog.csdn.net/zhu_tianwei/article/details/45009647 

Redis 集羣要點:http://5i.io/redis-3-0-cluster-configuration/ 

相關文章
相關標籤/搜索