redis分佈式集羣學習

redis分佈式集羣概述

Redis 集羣是一個提供在多個Redis間節點間共享數據的程序集。
Redis集羣並不支持處理多個keys的命令,因爲這需要在不同的節點間移動數據,從而達不到像Redis那樣的性能,在高負載的情況下可能會導致不可預料的錯誤.
Redis 集羣通過分區來提供一定程度的可用性,在實際環境中當某個節點宕機或者不可達的情況下繼續處理命令.
Redis 集羣的優勢:

  • 自動分割數據到不同的節點上。
  • 整個集羣的部分節點失敗或者不可達的情況下能夠繼續處理命令。

如何搭建環境

  1. 集羣服務器配置
    集羣中有三臺服務器,分別是192.168.56.101、192.168.56.103、192.168.56.105,預期搭建環境:三主三從,使用這三臺服務器上的7000/7001端口提供redis服務
  2. 安裝軟件

    安裝ruby以及rubygems

sudo apt-get install ruby_full rubygems

安裝rubygems的redis包

sudo gem install redis

安裝redis 4.0.11

 cd  /usr/local/src
 sudo wget http://download.redis.io/releases/redis-4.0.11.tar.gz
 sudo tar zxf redis-4.0.11.tar.gz
 cd redis-4.0.11
 sudo make
 sudo make test
 sudo make install 
  1. 配置集羣

配置文件 (創建工作目錄,生成配置文件)

sudo mkdir -p /usr/local/redis-cluster
cd /usr/local/redis-cluster
sudo mkdir 7000 7001
sudo cp /usr/local/src/redis-4.0.11/redis.conf /usr/local/redis-cluster/7000
sudo cp /usr/local/src/redis-4.0.11/redis.conf /usr/local/redis-cluster/7001

修改配置文件 步驟如下:

  • (1)綁定端口,port 7000

  • (2)註釋掉IP綁定,##bind 127.0.0.1

  • (3)指定數據存放路徑,dir /usr/local/redis-cluster/7000

  • (4)啓動集羣模式,cluster-enabled yes

  • (5)指定集羣節點配置文件,cluster-config-file nodes-7000.conf

  • (6)後臺啓動,daemonize yes

  • (7)指定集羣節點超時時間,cluster-node-timeout 5000

  • (8)修改pidfile配置,pidfile /var/run/redis_7000.pid

  • (9)將 protected-mode yes 修改爲 protected-mode no

啓動redis服務 (分別在各個服務器上執行以下命令)

sudo /usr/local/bin/redis-server /usr/local/redis-cluster/7000/redis.conf
sudo /usr/local/bin/redis-server /usr/local/redis-cluster/7001/redis.conf

啓動集羣 (在一個服務器節點上執行即可)

sudo /usr/local/src/redis-4.0.11/src/redis-trib.rb create --replicas 1 192.168.56.105:7000 192.168.56.105:7001 192.168.56.101:7000 192.168.56.101:7001 192.168.56.103:7000 192.168.56.103:7001
  1. 驗證是否正常工作
    集羣啓動成功> 查詢集羣中的主節點
redis-cli -h 192.168.56.105 -p 7000 cluster nodes |grep master

如何增刪節點

如果主節點服務停止,集羣如何處理

如何通過PHP訪問redis集羣

與codies有何區別

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