redis-cluster搭建


title: redis-cluster搭建(3主3從)
date: 2017-04-25 14:14:45
tags: redis

1、搭建環境

  • os:centos6.4node

  • redis:3.0.5redis

2、搭建步驟

1.安裝必要的依賴

  • 安裝gcc:yum install gcc
  • 安裝rubygems:yum install rubygems
  • 安裝ruby的redis驅動:gem install redis

2..獲取安裝包

使用下載好的包redis-3.0.5.tar.gz或直接命令下載:
wget http://download.redis.io/releases/redis-3.0.5.tar.gz數據庫

將安裝包放到/soft/目錄下:mv redis-3.0.5.tar.gz /soft/vim

3.安裝編譯

  • cd /soft
  • tar zxvf redis-3.0.5.tar.gz
  • cd redis-3.0.5
  • make MALLOC=libc
  • make install PREFIX=/usr/local/redis

4.建立文件夾

  • mkdir /data/redis-cluster -p
  • cd /data/redis-cluster/
  • mkdir 7000 7001 7002 7003 7004 7005

5.拷貝及修改配置文件

  • cp /soft/redis-3.0.5/redis.conf /data/redis-cluster/7000/centos

  • cp /soft/redis-3.0.5/redis.conf /data/redis-cluster/7001/ruby

  • cp /soft/redis-3.0.5/redis.conf /data/redis-cluster/7002/app

  • cp /soft/redis-3.0.5/redis.conf /data/redis-cluster/7003/測試

  • cp /soft/redis-3.0.5/redis.conf /data/redis-cluster/7004/ui

  • cp /soft/redis-3.0.5/redis.conf /data/redis-cluster/7005/命令行

  • vim /data/redis-cluster/7000/redis.conf
    分別修改以上路徑的配置文件內容項:7000-7005

daemonize yes
   pidfile /var/run/redis_7000.pid
   port 7000
   cluster-enabled yes
   cluster-config-file nodes_7000.conf
   cluster-node-timeout 15000
   appendonly yes

6.啓動6個redis實例

  • /usr/local/redis/bin/redis-server /data/redis-cluster/7000/redis.conf
  • /usr/local/redis/bin/redis-server /data/redis-cluster/7001/redis.conf
  • /usr/local/redis/bin/redis-server /data/redis-cluster/7002/redis.conf
  • /usr/local/redis/bin/redis-server /data/redis-cluster/7003/redis.conf
  • /usr/local/redis/bin/redis-server /data/redis-cluster/7004/redis.conf
  • /usr/local/redis/bin/redis-server /data/redis-cluster/7005/redis.conf

7.將集羣管理程序複製到redis安裝目錄下

cp /soft/redis-3.0.5/src/redis-trib.rb /usr/local/redis/bin/

8.建立集羣

/usr/local/redis/bin/redis-trib.rb create --replicas 1 127.0.0.1:7000 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

使用create命令 --replicas 1 參數表示爲每一個主節點建立一個從節點,其餘參數是實例的地址集合

建立成功:

9.檢驗測試

9.1測試存取值

​ 客戶端鏈接集羣redis-cli須要帶上 -c ,redis-cli -c -p 端口號

​ 發如今幾個節點中跳來跳去。

9.2測試集羣節點選舉

查看集羣目前情況:/usr/local/redis/bin/redis-cli -c -p 7000 cluster nodes

能夠看出7000,7001,7002爲master節點,7003,7004,7005爲對應從節點

如今殺掉7001節點的進程,再看看集羣情況:

能夠看到,節點7001爲fail狀態,它的從節點7004被選舉爲master節點

如今咱們將7001節點從新啓動,看是否會自動加入集羣中以及充當master節點仍是slave節點。

能夠看到7001節點恢復了,成爲了7004節點的從節點。

3、附錄

redis配置參數說明

  daemonize:如須要在後臺運行,把該項的值改成yes

  pdifile:把pid文件放在/var/run/redis.pid,能夠配置到其餘地址

  bind:指定redis只接收來自該IP的請求,若是不設置,那麼將處理全部請求,在生產環節中最好設置該項

  port:監聽端口,默認爲6379

  timeout:設置客戶端鏈接時的超時時間,單位爲秒

  loglevel:等級分爲4級,debug,revbose,notice和warning。生產環境下通常開啓notice

  logfile:配置log文件地址,默認使用標準輸出,即打印在命令行終端的端口上

  database:設置數據庫的個數,默認使用的數據庫是0

  save:設置redis進行數據庫鏡像的頻率

  rdbcompression:在進行鏡像備份時,是否進行壓縮

  dbfilename:鏡像備份文件的文件名

  dir:數據庫鏡像備份的文件放置的路徑

  slaveof:設置該數據庫爲其餘數據庫的從數據庫

  masterauth:當主數據庫鏈接須要密碼驗證時,在這裏設定

  requirepass:設置客戶端鏈接後進行任何其餘指定前須要使用的密碼

  maxclients:限制同時鏈接的客戶端數量

  maxmemory:設置redis可以使用的最大內存

  appendonly:開啓appendonly模式後,redis會把每一次所接收到的寫操做都追加到appendonly.aof文件中,當redis從新啓動時,會從該文件恢復出以前的狀態

  appendfsync:設置appendonly.aof文件進行同步的頻率

  vm_enabled:是否開啓虛擬內存支持

  vm_swap_file:設置虛擬內存的交換文件的路徑

  vm_max_momery:設置開啓虛擬內存後,redis將使用的最大物理內存的大小,默認爲0

  vm_page_size:設置虛擬內存頁的大小

  vm_pages:設置交換文件的總的page數量

  vm_max_thrrads:設置vm IO同時使用的線程數量

相關文章
相關標籤/搜索