Redis3.0.5集羣安裝

首先,直接訪問redis.io官網,下載redis.tar.gz,如今版本3.0.5,我下面已經在虛擬機啓動了兩個linux來部署redis。css

1. 下載和解包node

   cd /usr/local/linux

   wget http://download.redis.io/releases/redis-3.0.5.tar.gzredis

   tar -zxvf redis-3.0.5.tar.gz緩存

   mv redis-3.0.5 redisruby

2. 編譯安裝app

   cd redistcp

   make && make install工具

3. 建立redis節點測試

     咱們將在兩臺Server上建立六個節點,每臺3個,3主3從。

   1)Server1 

     cd /usr/local/

     mkdir redis_cluster   //建立集羣目錄

     mkdir 7000 7001 7002   //分別表明三個節點    其對應端口 7000 7001 7002

     建立7000節點爲例,

     cd ./7000

     cp /usr/local/redis/redis.conf   ./    //拷貝到當前7000目錄

     vi redis.conf    //編輯配置  主要修改一下幾個參數

daemonize    yes                          //redis後臺運行
pidfile  /var/run/redis_7000.pid        //pidfile文件對應7000
port  7000                                  //端口7000
cluster-enabled  yes                    //開啓集羣   把註釋#去掉
cluster-config-file  nodes.conf      //集羣的配置  配置文件首次啓動自動生成
cluster-node-timeout   5000       //請求超時  設置5秒夠了
appendonly   yes                  //aof日誌開啓   有須要就開啓,它會每次寫操做都記錄一條日誌  (全持久化)
#save 900  1
#save 300  10                    //註釋掉這幾個,這是寫磁盤的配置,我只是作緩存,不須要寫磁盤 (半持久化)
#save 60   10000                 //開啓的話,在啓動節點後,會生成相應的dump.rdb

配置好了,就相應地把這個修改後的配置文件拷貝到 7001  7002目錄,注意要修改監聽端口port 7001 7002.

    接下來,啓動服務,進入節點目錄

    依次執行  redis-server   redis.conf

    能夠看到生成了appendonly.aof  nodes.conf

ps -ef | grep redis 查看是否啓動成功

       root 885 0.8 0.2 129452 2620 ? Ssl 20:10 0:21 redis-server *:7000 [cluster]
       root       887  0.8  0.2 129452  2616 ?        Ssl  20:10   0:21 redis-server *:7001 [cluster]
       root       893  0.8  0.2 128356  2612 ?        Ssl  20:10   0:21 redis-server *:7002 [cluster]

    netstat -tnlp | grep redis 能夠看到redis監聽端口

       tcp        0      0 0.0.0.0:7000                0.0.0.0:*                   LISTEN      885/redis-server *
       tcp        0      0 0.0.0.0:7001                0.0.0.0:*                   LISTEN      887/redis-server *
       tcp        0      0 0.0.0.0:7002                0.0.0.0:*                   LISTEN      893/redis-server *
       tcp        0      0 0.0.0.0:17000               0.0.0.0:*                   LISTEN      885/redis-server *
       tcp        0      0 0.0.0.0:17001               0.0.0.0:*                   LISTEN      887/redis-server *
       tcp        0      0 0.0.0.0:17002               0.0.0.0:*                   LISTEN      893/redis-server *

    咱們除了看到 配置文件中設置的端口700*    還有700*+10000  (1700*), 前者是客戶端訪問的, 後者是集羣內部節點之間訪問的.

    注意,在多臺Server間搭建集羣,若是開了防火牆的,須要設置iptables開放上面全部端口.

   2) Server2

    步驟和Server1同樣, 設置端口  7003  7004  7005

4. 建立集羣

   前面已經準備好了搭建集羣的redis節點,接下來咱們要把這些節點都串連起來搭建集羣。官方提供了一個 工具:redis-trib.rb  (/usr/local/redis/src/redis-trib.rb) 看後綴就知道這鳥東西不能直接執行,它是用ruby寫的一個程序,因此咱們還得安裝ruby.

   yum -y install ruby ruby-devel rubygems rpm-build    //網上不明覺厲,都是這麼安裝的,就跟着這樣玩吧

   再用 gem 這個命令來安裝 redis接口     gem貌似是ruby的一個工具包  反正沒錯就是了。

   gem install redis     //等一下子就行了

   固然,方便操做,兩臺Server都要安裝。

  上面的步驟完事了,接下來運行一下redis-trib.rb


/usr/local/src/redis/src/redis-trib.rb  create  --replicas  1 127.0.0.1:7000  127.0.0.1:7001  127.0.0.1:7002  10.99.1.150:7003  10.99.1.150:7004  10.99.1.150:7005  
解釋下, --replicas  1  表示 自動爲每個master節點分配一個slave節點    上面有6個節點,程序會按照必定規則生成 3個master(主)3個slave(從)

    前面已經提醒過的 防火牆必定要開放監聽的端口,不然會建立失敗。

    運行中,提示Can I set the above configuration? (type 'yes' to accept): yes    //輸入yes

    接下來 提示   Waiting for the cluster to join..........  安裝的時候在這裏就一直等等等,沒反應,傻傻等半天,看這句提示上面一句,Sending Cluster Meet Message to join the Cluster.

    這下明白了,我剛開始在一臺Server上去配,也是不須要等的,這裏還須要跑到Server2上作一些這樣的操做。

    在Server2, redis-cli -c -p 700*  分別進入redis各節點的客戶端命令窗口, 依次輸入 cluster meet 192.168.1.197 7000…… 

    回到Server1,已經建立完畢了。

    查看一下 /usr/local/redis/src/redis-trib.rb check 127.0.0.1:7000

    到這裏集羣已經初步搭建好了。


查看集羣節點狀態

redis-cli -p 7000 cluster nodes

這裏面就知道哪些是master,哪些是slave


測試數據

相關文章
相關標籤/搜索