redis叢集搭建(同機器、不同機器搭建)

來源:互聯網
上載者:User

一、同機器下的叢集搭建:

      1,建立redis執行個體統一存放的檔案夾——在/usr/local路徑下建立cluster檔案夾,命令:mkdir cluster

          

     2,建立每個執行個體單獨存放的檔案夾——在cluster檔案夾下建立6個檔案夾,分別為7001,7002,7003,7004,7005,7006,

           命令:mkdir 7001 7002 7003 7004 7005 7006           

    3,將下載的redis-3.2.8.tar.gz上傳到虛擬機器的/usr/local/redis(前提先建一個redis)下,並解壓,命令:tar –zxvf redis-3.2.8.tar.gz,得到redis-3.2.8包          

         

     4,安裝gcc,執行yum -y install gcc gcc-c++ libstdc++-devel和make CFLAGS="-march=x86-64"兩次輸入y繼續安裝,安裝完成後然後進入redis-3.2.8包,執行make  install   PREFIX=/usr/local/redis2命令

     5,進入cd /usr/local/redis2c,複製bin檔案夾到之前建立的6個包下面(/usr/local/cluster/700*),

          如:cp -r bin /usr/local/cluster/7001          

         複製redis-3.2.8下的redis.conf到/usr/local/cluster下面,並進入該目錄         


  6,修改redis.conf檔案,修改內容如下

        1)屏蔽限制本地訪問,在bind 127.0.0.1之前加#(同機器下,可能不需要改,未做測試)              

       2)protected-mode後的yes改為no             

      3)daemonize後的no改為yes            

      4)去掉cluster-enabled yes前面的#(按Esc鍵退出i編輯模式,輸入/,再輸入cluster-enabled,斷行符號,就可以快速找到)            

     5)去掉#方法同4)           

    6)  port後的連接埠號碼改6次,每次都改成與之前建立的6個包名一致,如7001,每改一次,將redis.conf檔案,複製到對應的包下,如7001(連接埠只要不衝突可以隨便改,這裡 為了方便管理改成和包名一致)           

          




   7,分別啟動6個redis執行個體,並查看          

   8,進入cd /usr/local/redis/redis-3.2.8/src下,執行./redis-trib.rb  create  --replicas  1   127.0.0.1:7001  127.0.0.1:7002 127.0.0.1:7003  127.0.0.1:7004  127.0.0.1:7005  127.0.0.1:7006,報了一個錯,如下
          


          需要安裝:

                      1)ruby的環境,執行命令:yum install ruby

                      2)rubygems組件,執行命令:yum install rubygems

                      3)redis和ruby的介面,執行命令:gem install redis

         如果報node 192.168.133.xx:7001 is not empty之類的錯誤說明叢集未正確關閉或是存有記錄檔則

         針對錯誤資訊執行叢集修複命令:./redis-trib.rb fix 192.168.133.128:7001

     9,安裝完成後再次執行,啟動命令,並輸入yes並斷行符號
          


     10,啟動成功

          


     11,做下測試,隨便進入一個redis執行個體,如進入cd /usr/local/cluster/7001下執行./bin/redis-cli -c -p 7001

            



二、不同機器下的叢集搭建:

   注意: redis的安裝步驟與同機器下一致,這裡只講解個別不同配置的修改

    1,首先另外建立三個虛擬機器(這裡為方便示範只建立3個)           

     2,每台都設定固定ip  (不會設定,可以參考:http://blog.csdn.net/u012042021/article/details/72781888)

             node1設為192.168.133.128;

            node2設為192.168.133.129;

            node3設為192.168.133.130

 

    3,每台都建立好兩個redis執行個體(與同機器一樣),分別為:

              node1下7001、7002;

              node2下7003、7004;

              node3下7005、7006

 

     4,分別修改這3台機器下對應的2個redis執行個體的redis.conf檔案綁定對應機器的ip,如node1下的兩個redis配置改成 bind 192.168.133.128,儲存退出           

      注意:改好之後,要關閉每台虛擬機器的防火牆,執行命令:service iptables stop——立即生效,永久關閉防火牆執行命令:chkconfig iptables off——重啟生效

      5,分別啟動這6個執行個體

          node1:          

          node2:

         

         node3:

      



    6,進入node2 (隨便那台都行) cd /usr/local/redis/redis-3.2.8/src下(你的解壓目錄),執行
./redis-trib.rb  create  --replicas  1   192.168.133.128:7001  192.168.133.128:7002 192.168.133.129:7001  192.168.133.129:7002  192.168.133.130:7001  192.168.133.130:7002

       7,所有組件都按同機器下安裝一致,仍然報了一個錯              


         8,解決方案有兩種,官方推薦使用第二種:

                     1)分別刪除執行個體包下的三個檔案,再重新啟動

                          

                      2)針對錯誤資訊執行叢集修複命令:./redis-trib.rb fix 192.168.133.128:7001


            啟動與同機器一致

          


          

     9,測試,隨便進入一台機器,如node3,隨便進入一個redis執行個體,如7002,

           進行set、get測試

         

        再進入另一台機器,如node1,檢查get

      


      10,結束,多謝大家閱讀。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.