SSDB のマスター/スレーブ同期とレプリケーションの構成と監視
設定
古いバージョンの場合は、
を通じてマスターのホスト名 (ドメイン名) を指定できます。slaveof.ip
を通じてマスターの IP アドレスを指定する必要がありますが、新しいバージョン (1.9. 2) slaveof.host
.マスター/スレーブ
サーバー 1
replication:
slaveof:
#サーバー 2
replication:
slaveof:
id: svc_1
# sync|mirror, default is sync
type: sync
# use ip for older version
#ip: 127.0.0.1
# use host since 1.9.2
host: localhost
port: 8888
ホスト間
#サーバー 1#
replication:
slaveof:
id: svc_2
# sync|mirror, default is sync
type: mirror
# use ip for older version
#ip: 127.0.0.1
# use host since 1.9.2
host: localhost
port: 8889
#サーバー 2
replication:
slaveof:
id: svc_1
# sync|mirror, default is sync
type: mirror
# use ip for older version
#ip: 127.0.0.1
# use host since 1.9.2
host: localhost
port: 8888
マルチマスター合計 n 個のインスタンスを含む SSDB インスタンス グループのグループでは、各インスタンスは残りの n-1 個のインスタンスのスレーブである必要があります。 .replication:
slaveof:
id: svc_1
# sync|mirror, default is sync
type: mirror
# use ip for older version
#ip: 127.0.0.1
# use host since 1.9.2
host: localhost
port: 8888
slaveof:
id: svc_2
# sync|mirror, default is sync
type: mirror
# use ip for older version
#ip: 127.0.0.1
# use host since 1.9.2
host: localhost
port: 8889
# ... more slaveof
同期ステータスの監視info コマンドによって返される情報ssdb 127.0.0.1:8899> info
binlogs
capacity : 10000000
min_seq : 1
max_seq : 74
replication
client 127.0.0.1:55479
type : sync
status : SYNC
last_seq : 74
replication
slaveof 127.0.0.1:8888
id : svc_2
type : sync
status : SYNC
last_seq : 10023
copy_count : 0
sync_count : 44
ssdb 127.0.0.1:8899> info
binlogs
capacity : 10000000
min_seq : 1
max_seq : 74
replication
client 127.0.0.1:55479
type : sync
status : SYNC
last_seq : 74
replication
slaveof 127.0.0.1:8888
id : svc_2
type : sync
status : SYNC
last_seq : 10023
copy_count : 0
sync_count : 44
binlogs
現在のインスタンスの書き込み操作ステータス。- capacity: バイナリ キューの最大長min_seq: 現在のキューの最小バイナリ シーケンス番号max_seq: current キュー内の最大 binlog シーケンス番号
replication
複数の replication
レコードが存在する可能性があります。各レコードは、現在のサーバーに接続されたスレーブ (client) またはマスター (slaveof) を表します。 ).
- slaveof|client host:port、リモート マスター/スレーブの host:port。
- type: type、
sync|mirror
. - status: 現在の同期ステータス、
DISCONNECTED|INIT|OUT_OF_SYNC|COPY|SYNC
. - last_seq: 送受信された最後のバイナリログのシーケンス番号。
- slaveof.id: マスターの ID (これはスレーブの観点からのものであり、マスター上で独自の ID を設定する必要はありません)
- slaveof.copy_count: 完全同期中にコピーされた内容キーの数。
- slaveof.sync_count: 送受信されたビンログの数。
ステータスについて:
- DISCONNECTED: マスターとの接続が切断されました。通常はネットワークの中断が原因です。
- INIT: 初期化状態です。
- OUT_OF_SYNC: 多数の書き込み操作が原因です。短期間でマスターにアクセスし、その結果、binlog キューが削除され、スレーブは同期ポイントを失い、すべてのデータを再度コピーする必要があります。
- COPY: ベンチマーク データをコピーするプロセス中に、新しい書き込み操作は時間内に同期されない可能性があります。
- SYNC: 同期ステータスは正常です。
同期ステータスを確認してください。
マスターの場合、binlogs.max_seq
は、現在のインスタンスの最新のものを指します。 書き込み (書き込み/更新/削除) 操作のシリアル番号、replication.client.last_seq
は、シリアル番号を指します。スレーブに送信された最新の binlog の番号。
したがって、マスターがスレーブ同期が同期されているかどうか (リアルタイム更新) を確認したい場合は、binlogs.max_seq## かどうかを確認します。 # と
replication.client.last_seq は等しいです。