redis集羣搭建步驟

本人共有三臺虛擬機–192.168.223.144 192.168.223.145 192.168.223.146 .
計劃每臺機器創建兩個redis實例, 每臺都創建7000和7001兩個端口 . 所以一共6個節點, 3個master, 3個salve.


安裝前:

安裝前, 需要明確幾個概念.

  • make
    • 這一步是用來編譯的,它從Makefile中讀取指令,然後編譯 , 大多數的源代碼包都經過這一步進行編譯
  • make test / make check
    • 這一步就是對上一步 make 的檢查了,要確保 make 是沒有錯誤的,也就是這一步的 test、check要全部是 OK 的,error 爲0
  • sudo make install
    • 這一步是用來安裝的,它也從Makefile中讀取指令,安裝到指定的位置

開始安裝:

  • 下載安裝包,並解壓到指定目錄 .
    這裏寫圖片描述

  • 進入redis目錄, 執行”make” 編譯命令 .
    出現下面錯誤 : /bin/sh: cc: command not found redis
    錯誤原因 : 沒有gcc, 進行安裝:yum install gcc

  • 接着使用make命令, 出現另一個錯誤 .
    zmalloc.h:50:31: fatal error: jemalloc/jemalloc.h: No such file or directory
    解決方式(添加參數) : make MALLOC=libc
  • 執行”make test”, 還是出現錯誤 .
    You need tcl 8.5 or newer in order to run the Redis test
    解決方式 : yum install tcl 8.5

  • 再次”make test” 沒有出現錯誤 , 說明可以進行安裝了 .
    執行命令 : make PREFIX=/usr/local/application/redis install
    PREFIX : 執行安裝之後生成文件路徑, redis會生成bin目錄 , 我指定在解壓後的redis目錄下
    這裏寫圖片描述

  • 分別在三臺機器都進行安裝, 下面開始創建配置文件.
    • 在三臺redis目錄下創建了”cluster”目錄.
      這裏寫圖片描述
    • 此時三臺機器redis目錄下都會有”cluster”目錄 . 然後在目錄下創建”7000”和”7001”目錄 , 分別存放端口7000和端口7001的redis.conf配置文件.
      這裏寫圖片描述
    • 拷貝redis目錄下的redis.conf配置文件到7000和7001目錄下.
      此時需要修改三臺機器上六個redis.conf配置文件 .
  • 分別修改六個redis.conf配置文件 .

    注意要對應各自ip和端口.

    port  7000                                        //端口7000,7001,7002        
    bind 本機ip                                       //默認ip爲127.0.0.1 需要改爲其他節點機器可訪問的ip 否則創建集羣時無法訪問對應的端口,無法創建集羣
    daemonize    yes                               //redis後臺運行
    pidfile  /var/run/redis_7000.pid          //pidfile文件對應7000,7001,7002
    cluster-enabled  yes                           //開啓集羣  把註釋#去掉
    cluster-config-file  nodes_7000.conf   //集羣的配置  配置文件首次啓動自動生成 7000,7001,7002
    cluster-node-timeout  15000                //請求超時  默認15秒,可自行設置
    appendonly  yes                           //aof日誌開啓  有需要就開啓,它會每次寫操作都記錄一條日誌
  • 進入redis目錄下的bin, 執行腳本, 啓動redis服務 .
    注意 : 啓動要加上配置文件路徑.
    ./redis-server ../cluster/7000/redis.conf
    ./redis-server ../cluster/7001/redis.conf

  • 查看啓動情況 .
    這裏寫圖片描述

    這裏寫圖片描述

    這裏寫圖片描述

  • 啓動正常之後, 創建集羣 .
    Redis 官方提供了 redis-trib.rb 這個工具,就在解壓目錄的 src 目錄中 , 使用這個工具即可完成集羣安裝.
    進入redis目錄下的src目錄執行 :
    ./redis-trib.rb create –replicas 1 192.168.223.144:7000 192.168.223.144:7001192.168.223.145:7000192.168.223.145:7001192.168.223.146:7000192.168.223.146:7001
    說明 : –replicas 1 表示每個主節點跟一個從節點
    命令只需要執行一次即可 .

  • 又出現錯誤 .
    這裏寫圖片描述
    因爲這工具是由ruby實現, 所以必須安裝ruby環境 .
    yum -y install ruby ruby-devel rubygems rpm-build
    既然ruby程序要訪問redis數據庫,總得有個連接接口, 然後執行下面命令 :
    sudo gem install redis

  • 如果出現下面錯 , 刪除掉, bin目錄下的cluster-config-file 相關文件刪掉 , 然後重新啓動 .
    這裏寫圖片描述
  • 啓動完成後, 再次執行集羣命令, 終於看到勝利曙光 .
    這裏寫圖片描述

  • 啓動客戶端測試,記住要加集羣參數 “-c”.
    這裏寫圖片描述

    這裏寫圖片描述


至此集羣就安裝完畢, 本人剛開始寫博客不久, 有什麼不足地方請指正,

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