redisスライス構成

1997 ワード

1、構造計画


3台の機械を例にとると

2、住所とポート対応

A  :  192.168.1.1:7000
C1 :  192.168.1.1:7001
B  :  192.168.1.2:7000
A1 :  192.168.1.2:7001
C  :  192.168.1.3:7000
B1 :  192.168.1.3:7001
C2 :  192.168.1.3:7002

3、配置


すべてのノードは、ポート番号を除いて、同じ構成です.
mkdir /etc/redis/cluster/7000(      )
vim /etc/redis/cluster/7000/redis-7000.conf

port 7000
cluster-enabled yes 
cluster-config-file nodes.conf
cluster-node-timeout 15000
appendonly yes 
cluster-require-full-coverage no
daemonize yes 
dir ./
cluster-migration-barrier 1 

redis-server /opt/redis/conf/redis-7000.conf > /opt/redis/logs/redis-7000.log 2>&1 & 
redis-server /opt/redis/conf/redis-7001.conf > /opt/redis/logs/redis-7001.log 2>&1 &
#C3
redis-server /opt/redis/conf/redis-7002.conf > /opt/redis/logs/redis-7002.log 2>&1 &

4、クラスタ構成

redis-trib.rb create --replicas 1 192.168.1.1:7000 192.168.1.2:7000 192.168.1.3:7000 192.168.1.1:7001 192.168.1.2:7001 192.168.1.3:7001

ステータスの確認
redis-trib.rb check 1 192.168.1.1:7000

出力は次のとおりです.
[OK] All nodes agree about slots configuration.  
>>> Check for open slots...  
>>> Check slots coverage...  
[OK] All 16384 slots covered.

5、CにC 2スレーブノードを追加する


  • スレーブノードを追加するのは、クラスタ内のmasterがダウンタイムし、アップグレードがメインになると、この新しいマスターがスレーブしない場合があり、この場合、このC 2は自動的にこの新しいマスターのSlaveに割り当てられるからである.
    インストール構成は、前の例と同じで、プロファイルのポートを変更するだけです.追加手順:登録クラスタは、cluster nodesを実行してCのノードIDを取得する-C 2にログインしてCのSlave(AまたはBであってもよい)に設定する.例:
    cluster replicate 2b9ebcbd627ff0fd7a7bbcc5332fb09e72788835
    

    6、まとめ


    これは公式クラスタの基本構成であり、クライアントはask/moveアクセスノードをサポートする必要があり、そのうちの1つのプライマリノードにアクセスしてクラスタを使用することができます.クラスタ内で使用できないノードが半数を超えると、クラスタ全体が使用できなくなり、クラスタ内のMasterがダウンタイムすると、対応するSlaveがMasterに昇格し、元のMasterが再び起動してクラスタに接続されるとSlaveとなる.