Redis cluster日常管理【一】


一、管理操作


クラスタ
cluster info:       
cluster nodes:             ,         
cluster meet: ip port             
cluster foget:      node_id      
cluster repolicate:         node_id   master   slave  。    slave    
cluster saveconfig:              

スロット
cluster addslots [slot...]:        (slot)   (assign)     
cluster delslots [slot...]:               
cluster flushslots:             ,                   
cluster setslot node:  slot   node_id     ,              ,              ,     
cluster setslot mingranting:      slot   node_id      
cluster setslot impoting : node_id             
cluster setslotstable:    slot   (import)    (migrate)
cluster keyslot :   key          
cluster countkeysinslot:   slot          
cluster getkeysinslot :  count slot    

二、Redisキャッシュデータの整理


キャッシュデータのクリーンアップには2つの方法があります.
  • すべてのkey
  • をクリア
  • 複数のkey
  • をクリアする
    127.0.0.1:6379> del name
    (integer) 1
    127.0.0.1:6379> flushall
    OK
    127.0.0.1:6379> keys *
    (empty list or set)
    

    三、サーバーのアップグレード

  • ノードからのアップグレードサーバからのアップグレードは簡単で、ノードを停止して更新されたRedisバージョンで再起動するだけです.
  • プライマリノードをアップグレードしてプライマリサーバをアップグレードするには、少し複雑です.推奨される手順は、次のとおりです.①cluster failoverを使用して手動フェイルオーバプライマリサーバをトリガー②プライマリサーバからサーバへの移行を待つ③このノードをアップグレードサーバのようにアップグレード④アップグレードしたばかりのノードをプライマリサーバに変更したい場合は、新しい手動フェイルオーバをトリガーし、アップグレードされたノードをプライマリサーバに再変更する(これらの手順に従って、すべてのノードがアップグレードされるまで、1つのノードのアップグレードを完了することができます)
  • 四、コピー移行


    なぜレプリケーション移行を行うのですか?クラスタのクラッシュ防止能力は,クラスタ内のmasterが有する平均slave数に常に比例することを知っている.例えば、1つのクラスタに各masterが1つのslaveしかない場合、masterとslaveが停止するとこのクラスタはクラッシュします.もちろん、各masterにslaveノードを1つ追加することでシステムの信頼性を改善することができますが、これは高価です.レプリケーション移行では、クラスタに20個のノードがあり、10個のmasterに1個のslaveがあるなど、一部のmasterにのみslaveを追加できます.次に、3つのslaveをクラスタに追加し、いくつかのmasterノードに割り当てます.これにより、いくつかのmasterは1つ以上のslaveを持つようになります.あるmasterがslaveを失った場合、レプリケーション移行はslaveノードを余裕のあるslaveを持つmaster傘下からslaveのないmasterに移行することができ、朝4時に1つのslaveノードが切断されたときに別のslaveがその位置に取って代わられると仮定し、masterが朝5時に停止したときに1つのslaveがmasterに選択され、クラスタは依然として正常に動作することができる.
    Redisクラスタでcluster replicateコマンドを使用して、あるslaveノードを別のmasterのslaveに再構成できます.注:これはslaveノード、すなわちslaveノードにログインしたredisに対してのみ実行されます.
    たとえば、現在10.220.5.172:6379が10.220.5.171:6379プライマリノードのslaveノードである場合、10.220.5.173:6379プライマリノードのslaveノードに設定することもできます.
    10.220.5.172:6379> info replication
    # Replication
    role:slave
    master_host:10.220.5.171
    master_port:6379
    

    10.220.5.173:6379プライマリノードのIDは、aed 1 d 5 e 8127 c 8 ee 93 af 0 bbbf 2 b 66 b 8007633489690で、次のように動作します.
      10.220.5.172  
    10.220.5.172:6379> cluster repolicate aed1d5e8127c8ee93af0bbf2b66b800763489690
    

    これにより、1つのレプリケーションノードを1つのmasterから別のmasterに自動的に移動することができます.この場合、レプリケーションノードの自動化はレプリケーション移行と呼ばれ、レプリケーション移行はシステムの信頼性と災害対策を向上させることができます.
    レプリケーション移行について注意すべき点:
  • クラスタは、移行時に、より多くのslave数を持つmaster傘下のslave
  • を移行しようとします.
  • レプリケーション移行プロパティを使用してシステムの可用性を向上させるには、slave非単一マスター(どのマスターノードが重要ではないか)
  • を追加するだけです.
  • レプリケーション移行は、構成項目cluster-migration-barrierによって制御される
  • です.