サポートマイクロボー億のソーシャル・ネットワーキング・プラットフォーム、白も楽しいRedisのクラスタ(実際の戦闘ピース)することができ

記事「サポートマイクロボー億のソーシャル・ネットワーキング・プラットフォーム、白も楽しいRedisのクラスター(の原則)することができ、」関連する原則Redisのクラスタを説明し、この記事では、などのビルドRedisのクラスタのクラスタ構成、運用、保守、拡張を、ご紹介します特定の操作

クラスタのセットアップ

2018年10月Redisのはにルビー系グラフトからクラスタ管理ツールのクラスタを構築することが容易とRedisの-trib.rb、C言語の-CLIベースのRedisそのうちの1つは、5.0バージョンの安定版をリリースしたさまざまな新機能が導入されました管理

Redisのクラスタは、少なくとも3つのプライマリノードが含まれている必要があり、クラスタを実行して、高可用性は、6 3からの3つのマスタノードの最小値を必要とします

次の手順は、Redisの5.0.5バージョンに基づいており、Linuxサーバ上でのRedisのクラスタから3-36マスターノードを設定する方法について説明します

  • ステップ1は、インストールディレクトリを作成します。
mkdir -p /data/project/redis-cluster
  • 2.ダウンロード手順とソースコードのコンパイルを抽出
cd /data/project/redis-cluster
wget http://download.redis.io/releases/redis-5.0.5.tar.gz
tar xzf redis-5.0.5.tar.gz
cd redis-5.0.5
make

作る実行した後、エラー「jemalloc / jemalloc.h:そのようなファイルやディレクトリはありません」場合は、次のコマンドで変更することができます。

make MALLOC=libc
  • ステップ3 6 Redisのは、プロファイルを作成し
    、以下のRedisに、同じディレクトリに6つのプロファイルではない7005から7000がポートに装着されている6つのノード
    は次のように定義され、最初のコンフィギュレーション・ファイルのディレクトリとファイルを作成します:
mkdir -p /data/project/redis-cluster/nodes/7000
mkdir -p /data/project/redis-cluster/nodes/7001
mkdir -p /data/project/redis-cluster/nodes/7002
mkdir -p /data/project/redis-cluster/nodes/7003
mkdir -p /data/project/redis-cluster/nodes/7004
mkdir -p /data/project/redis-cluster/nodes/7005

touch /data/project/redis-cluster/nodes/7000/redis.conf
touch /data/project/redis-cluster/nodes/7001/redis.conf
touch /data/project/redis-cluster/nodes/7002/redis.conf
touch /data/project/redis-cluster/nodes/7003/redis.conf
touch /data/project/redis-cluster/nodes/7004/redis.conf
touch /data/project/redis-cluster/nodes/7005/redis.conf

設定ファイルのRedis.confの内容は次のとおりです。

############################## 网络 ##############################
# 端口
port 7000
# 非保护模式,如果值为yes,则必须是 bind配置指定的ip的机器连接或者使用密码连接
protected-mode no 

############################## 通用 ##############################
# 后台运行
daemonize yes 
# 记录redis进程pid
pidfile  /var/run/redis_7000.pid

############################## 集群 ##############################
# 启用集群模式
cluster-enabled yes 
cluster-config-file nodes_7000.conf
# 集群节点如果在该超时时间(毫秒)内不可达,则认为节点处于故障状态
cluster-node-timeout 5000

############################## 持久化 ##############################
# AOF, RDB持久化文件目录
dir /data/project/redis-cluster/nodes
# 开启AOF持久化
appendonly yes
# AOF文件名
appendfilename "appendonly_7000.aof"
# 当目前aof文件大小超过上一次重写的aof文件大小的百分之多少进行重写
auto-aof-rewrite-percentage 100
# 设置允许重写的最小aof文件大小,避免了达到约定百分比但尺寸仍然很小的情况还要重写
auto-aof-rewrite-min-size 64mb
# RDB文件名
dbfilename dump_7000.rdb

ポート、pidファイル、クラスタ設定ファイル、appendfilename、dbfilename構成が異なるノードで調整する必要がある、請求

アイテム説明が詳細にそれを説明それぞれが、/ redis.conf-5.0.5をRedisの参照、読み出し推奨

  • ステップ4 [スタート]ノード
/data/project/redis-cluster/redis-5.0.5/src/redis-server /data/project/redis-cluster/nodes/7000/redis.conf
/data/project/redis-cluster/redis-5.0.5/src/redis-server /data/project/redis-cluster/nodes/7001/redis.conf
/data/project/redis-cluster/redis-5.0.5/src/redis-server /data/project/redis-cluster/nodes/7002/redis.conf
/data/project/redis-cluster/redis-5.0.5/src/redis-server /data/project/redis-cluster/nodes/7003/redis.conf
/data/project/redis-cluster/redis-5.0.5/src/redis-server /data/project/redis-cluster/nodes/7004/redis.conf
/data/project/redis-cluster/redis-5.0.5/src/redis-server /data/project/redis-cluster/nodes/7005/redis.conf

ps -ef | grepをのRedisのは、あなたが見ることができる6つのRedisのプロセスが開始しました:

  • ステップ5は、開始クラスタ
    、クラスタを起動するには、次のコマンドを使用して、IPアドレス、独自の代替:
/data/project/redis-cluster/redis-5.0.5/src/redis-cli --cluster create 192.168.56.102:7000 192.168.56.102:7001 192.168.56.102:7002 192.168.56.102:7003 192.168.56.102:7004 192.168.56.102:7005 --cluster-replicas 1

正常に起動情報は次のとおりです。

完全にこれ、Redisのクラスタクラスタのセットアップ

クラスタビュー

Redisの-cliのクラスタ操作および保守機能のRedis5新シリーズは、詳細を表示するコマンド:

/data/project/redis-cluster/redis-5.0.5/src/redis-cli --cluster help

コマンドパラメータは公式文書の特定の役割を参照することができ、次のようにクラスタ管理のために一般的なコマンドのいくつかに基づいて行われます

  • ノードの状態を確認
/data/project/redis-cluster/redis-5.0.5/src/redis-cli --cluster check 192.168.56.102:7000

  • ビュークラスタ情報
/data/project/redis-cluster/redis-5.0.5/src/redis-cli --cluster info 192.168.56.102:7000

クラスター展開

3からの3つの主要なクラスターがあり、膨張から以下の4つのメインノード5を追加するには5になります

  • ステップ1新しいノード開始
    Redisのプロファイル4を作成し、ポート番号が7006である- 7009、[開始ノード(ステップ3の「クラスタ・ベース」とステップ4を参照)
  • ステップ2は、新しいノードがクラスタ・ジョイン
    セットを有する4つのノードRedisのクラスタマスターノード2、ノード2から追加されます
/data/project/redis-cluster/redis-5.0.5/src/redis-cli --cluster add-node 192.168.56.102:7006 192.168.56.102:7005 
/data/project/redis-cluster/redis-5.0.5/src/redis-cli --cluster add-node 192.168.56.102:7007 192.168.56.102:7005 

# 24e2c是节点7006的id,代表该节点加入集群并为7006的从节点
/data/project/redis-cluster/redis-5.0.5/src/redis-cli --cluster add-node 192.168.56.102:7008 192.168.56.102:7005 --cluster-slave --cluster-master-id 24e2c369678952b07d95c0a4b49c2d7a7b2e2bf7 
# 24e2c是节点7007的id,代表该节点加入集群并为7007的从节点
/data/project/redis-cluster/redis-5.0.5/src/redis-cli --cluster add-node 192.168.56.102:7009  192.168.56.102:7005 --cluster-slave --cluster-master-id ab0f74a19819a74238df7a510494e9418678cbe1

このとき、マスタノード7006及び7007のマスター・ノードは、任意のスロットに割り当てられていない前記クラスタ状態として、以下のステップが割り当てられます。

  • ステップ3は、シミュレートされたスロット割り当てリバランス
    基づいてリバランスコマンドを、実際に移行操作を行うことなく、移行されたスロットを参照する--cluster-simulatパラメータを増加させます
/data/project/redis-cluster/redis-5.0.5/src/redis-cli --cluster rebalance 192.168.56.102:7000 --cluster-threshold 1 --cluster-use-empty-masters  --cluster-simulat

移行は次の情報を返します。

  • ステップ4リバランススロット割当
    実行rebalanceコマンド、スロット、スロットの再割り当てをバランスクラスタ・ノードの数は、(--cluster-simulat除去します)
/data/project/redis-cluster/redis-5.0.5/src/redis-cli --cluster rebalance 192.168.56.102:7000 --cluster-threshold 1 --cluster-use-empty-masters

この時点で、クラスター展開が完了し、クラスタボリュームの減少は、次に、スロットにおけるオフライン基づいreshardノードである必要が他のノードに移動する必要があり、そのノードに基づいて、コマンド・デル・ノードを削除します

概要

この記事では、オンラインでの質問の数を拡大する機会が続い基本Redisのクラスタクラスタの実装、限られたスペースは、Redisのピントを合わせ続けることが歓迎、ピット経験、運用、保守監視プラットフォームを強化紹介のいくつかを説明します

参照

Redisのクラスタ管理ツールのRedis-TRIB-RB詳細
http://weizijun.cn/2016/01/08/redis%20cluster管理ツールのRedis-TRIB-RBコメント/

おすすめ

転載: www.cnblogs.com/caison/p/11717636.html