Redis集羣的搭建

        在redis3.0以前,提供了Sentinel工具來監控各Master的狀態,如果Master異常,則會做主從切換,將slave作爲master,將master作爲slave。其配置也是稍微的複雜,並且各方面表現一般。現在redis3.0已經支持集羣的容錯功能,並且非常簡單。下面來展示redis3.0如何搭建集羣。

        第一步:創建一個文件夾redis-cluster,然後在其下面分別創建6個文件夾如下:

                    1、mkdir -p /usr/local/redis-cluster;

                    2、mkdir 7001、mkdir 7002、mkdir 7003、mkdir 7004、mkdir 7005、mkdir 7006;

        第二部:將redis.conf文件都copy到700*的文件下,並做如下修改:

                    1、daemonize yes;

                    2、port 700*;

                    3、bind 192.168.1.171 (必須要綁定當前機器的IP,不然會無限悲劇下去。。。深坑勿入);

                    4、dir /usr/local/redis-cluster/700*/ (指定數據文件存放位置,必須指定不同的目錄位置,不然會丟失數據);

                    5、cluster-enabled yes (允許啓動集羣模式)

                    6、cluster-config-file nodes700*.conf(每一個節點對應一個文件,這裏700*和port對應上)

                    7、cluster-node-timeout 5000;

                    8、appendonly yes;(開啓快照)

        第三部:把修改後的配置文件,分別copy到給個文件夾下,注意每個文件都要修改端口號,並且nodes文件也要不相同;

        第四部:由於redis集羣需要使用ruby命令,所以我們需要安裝ruby:

                    1、yum install ruby;

                    2、yum install rubygems;

                    3、gem install redis(安裝redis和ruby接口);

         第五步:分別啓動6個redis實例,然後檢查是否啓動成功:

                    1、/usr/local/redis/bin/redis-server /usr/local/redis-cluster/700*/redis.conf;

                    2、ps -ef | grep redis;檢查否啓動成功;

         第六步:首先到redis3.0的安裝目錄下,然後執行redis-trib.rb命令:

                    1、cd/usr/local/redis3.0/src;

                    2、./redis-trib.rb create --replicas 1 192.168.1.171:7001 192.168.1.171:7002 192.168.1.171:7003 

                          192.168.1.171:7004 192.168.1.171:7005 192.168.1.171:7006

          第七部:到此爲止我們集羣搭建成功!進行驗證:

           1、連接任意一個客戶端即可:./redis-cli -c -h -p(-c表示集羣模式,指定ip地址和端口號);如:/usr/loca/redis/bin/redis-cli -c -h 192.168.1.171 -p 700*;

                    2、進行驗證:cluster info (查看集羣信息)、cluster nodes(查看節點列表)

                    3、進行數據操作驗證;

              4、關閉集羣則需要逐個進行關閉,使用命令:/usr/local/redis/bin/redis-cli -c -h 192.168.1.171 -p 700* shutdown;

           第八部:(補充)

                    友情提示:當出現集羣無法啓動時,刪除臨時的數據文件(nodes-700*.conf),再次重新啓動每個redis服務,然後重新構造集羣環境。

                    redis-trib.rb官方羣操作命令:http://redis.io/topics/cluster-tutorial

                    推薦博客:http://blog.51yip.com/nosql/1726.html/comment-page-1

注:java連接redis的時候需要關閉Linu的防火牆;

   關閉防火牆:命令:service iptables stop;

                        命令:chkconfig iptables off;

                        驗證:chkconfig --list | grep iptables;









發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章