重要
このページは英語版のページを機械翻訳しています。原文はこちらからご覧ください。

TiDBBinlogConfiguration / コンフィグレーションファイル

このドキュメントでは、TiDBBinlogの構成項目を紹介します。

ポンプ

このセクションでは、Pumpの構成項目を紹介します。完全なポンプ構成ファイルの例については、 ポンプConfiguration / コンフィグレーションを参照してください。

addr

  • HTTPAPIのリスニングアドレスをhost:portの形式で指定します。
  • デフォルト値: 127.0.0.1:8250
  • 外部からアクセス可能なHTTPAPIアドレスを指定します。このアドレスは、 host:portの形式でPDに登録されます。
  • デフォルト値: 127.0.0.1:8250

ソケット

  • HTTPAPIがリッスンするUnixソケットアドレス。
  • デフォルト値: ""

pd-urls

  • PDURLのコンマ区切りリストを指定します。複数のアドレスが指定されている場合、PDクライアントが1つのアドレスへの接続に失敗すると、PDクライアントは自動的に別のアドレスへの接続を試みます。
  • デフォルト値: http://127.0.0.1:2379

data-dir

  • binlogとそのインデックスがローカルに保存されるディレクトリを指定します。
  • デフォルト値: data.pump

ハートビート間隔

  • 最新のステータスがPDに報告されるハートビート間隔(秒単位)を指定します。
  • デフォルト値: 2

gen-binlog-interval

  • データが偽のbinlogに書き込まれる間隔(秒単位)を指定します。
  • デフォルト値: 3

gc

  • binlogをローカルに保存できる日数(整数)を指定します。指定した日数より長く保存されたビンログは自動的に削除されます。
  • デフォルト値: 7

ログファイル

  • ログファイルが保存されるパスを指定します。パラメータが空の値に設定されている場合、ログファイルは保存されません。
  • デフォルト値: ""

ログレベル

  • ログレベルを指定します。
  • デフォルト値: info

node-id

  • ポンプノードIDを指定します。このIDを使用すると、このポンププロセスをクラスタで識別できます。
  • デフォルト値: hostname:port number 。たとえば、 node-1:8250

安全

このセクションでは、セキュリティに関連する構成項目を紹介します。

ssl-ca

  • 信頼できるSSL証明書リストまたはCAリストのファイルパスを指定します。たとえば、 /path/to/ca.pem
  • デフォルト値: ""

ssl-cert

  • プライバシー強化メール(PEM)形式でエンコードされたX509証明書ファイルのパスを指定します。たとえば、 /path/to/pump.pem
  • デフォルト値: ""

ssl-key

  • PEM形式でエンコードされたX509キーファイルのパスを指定します。たとえば、 /path/to/pump-key.pem
  • デフォルト値: ""

保管所

このセクションでは、ストレージに関連する構成項目を紹介します。

同期ログ

  • データの安全性を確保するために、binlogへの各バッチ書き込みの後にfsyncを使用するかどうかを指定します。
  • デフォルト値: true

kv_chan_cap

  • Pumpがこれらの要求を受信する前に、バッファーが保管できる書き込み要求の数を指定します。
  • デフォルト値: 1048576 (つまり、2の20乗)

slow_write_threshold

  • しきい値(秒単位)。この指定されたしきい値よりも単一のbinlogファイルの書き込みに時間がかかる場合、書き込みは低速書き込みと見なされ、 "take a long time to write binlog"がログに出力されます。
  • デフォルト値: 1

stop-write-at-available-space

  • 使用可能なストレージスペースがこの指定された値を下回ると、Binlog書き込み要求は受け入れられなくなります。 900 MBなどの形式を使用して、 12 GiBスペースを指定でき5 GB 。クラスタに複数のPumpノードがある場合、スペースが不足しているためにPumpノードが書き込み要求を拒否すると、TiDBは自動的に他のPumpノードにbinlogを書き込みます。
  • デフォルト値: 10 GiB

kv

現在、PumpのストレージはGoLevelDBに基づいて実装されています。 storageの下には、GoLevel構成を調整するために使用されるkvのサブグループもあります。サポートされている構成項目は次のとおりです。

  • ブロックキャッシュ容量
  • block-restart-interval
  • ブロックサイズ
  • 圧縮-L0トリガー
  • 圧縮テーブルサイズ
  • 圧縮-合計サイズ
  • 圧縮-合計サイズ-乗数
  • 書き込みバッファ
  • 書き込み-L0-一時停止-トリガー
  • 書き込み-L0-スローダウン-トリガー

上記の項目の詳細については、 GoLevelDBドキュメントを参照してください。

ドレイナー

このセクションでは、Drainerの構成項目を紹介します。完全なDrainer構成ファイルの例については、 ドレイナーConfiguration / コンフィグレーションを参照してください。

addr

  • HTTPAPIのリスニングアドレスをhost:portの形式で指定します。
  • デフォルト値: 127.0.0.1:8249
  • 外部からアクセス可能なHTTPAPIアドレスを指定します。このアドレスは、 host:portの形式でPDに登録されます。
  • デフォルト値: 127.0.0.1:8249

ログファイル

  • ログファイルが保存されるパスを指定します。パラメータが空の値に設定されている場合、ログファイルは保存されません。
  • デフォルト値: ""

ログレベル

  • ログレベルを指定します。
  • デフォルト値: info

node-id

  • ドレイナーノードIDを指定します。このIDを使用すると、このドレイナープロセスをクラスタで識別できます。
  • デフォルト値: hostname:port number 。たとえば、 node-1:8249

data-dir

  • Drainerの操作中に保存する必要のあるファイルを保存するために使用するディレクトリを指定します。
  • デフォルト値: data.drainer

検出間隔

  • PDがポンプ情報を更新する間隔(秒単位)を指定します。
  • デフォルト値: 5

pd-urls

  • PDURLのコンマ区切りのリスト。複数のアドレスが指定されている場合、1つのアドレスへの接続中にエラーが発生すると、PDクライアントは自動的に別のアドレスへの接続を試みます。
  • デフォルト値: http://127.0.0.1:2379

initial-commit-ts

  • トランザクションのどのコミットタイムスタンプからレプリケーションプロセスを開始するかを指定します。この構成は、初めてレプリケーションプロセスにあるDrainerノードにのみ適用されます。チェックポイントがダウンストリームにすでに存在する場合、レプリケーションはチェックポイントに記録された時間に従って実行されます。
  • commit ts(コミットタイムスタンプ)は、TiDBでの取引のコミットの特定の時点です。これは、現在のトランザクションの一意のIDとして、グローバルに一意であり、PDから増加するタイムスタンプです。次の一般的な方法でinitial-commit-tsの構成を取得できます。
    • BRを使用する場合、BR(backupmeta)によってバックアップされたメタデータに記録されたバックアップTSからinitial-commit-tsを取得できます。
    • Dumplingを使用する場合、Dumpling(メタデータ)によってバックアップされたメタデータに記録されたPosからinitial-commit-tsを取得できます。
    • PD制御を使用する場合、 tsoコマンドの出力にinitial-commit-tsが含まれます。
  • デフォルト値: -1 。 Drainerは、開始時刻としてPDから新しいタイムスタンプを取得します。これは、レプリケーションプロセスが現在の時刻から開始されることを意味します。

同期チェック時間

  • HTTP APIを介して/statusのパスにアクセスし、Drainerレプリケーションのステータスを照会できます。 synced-check-timeは、最後に成功したレプリケーションからsyncedと見なされる分数、つまりレプリケーションが完了した分を指定します。
  • デフォルト値: 5

コンプレッサー

  • ポンプとドレイナー間のデータ転送に使用される圧縮アルゴリズムを指定します。現在、 gzipのアルゴリズムのみがサポートされています。
  • デフォルト値: ""、これは圧縮なしを意味します。

安全

このセクションでは、セキュリティに関連する構成項目を紹介します。

ssl-ca

  • 信頼できるSSL証明書リストまたはCAリストのファイルパスを指定します。たとえば、 /path/to/ca.pem
  • デフォルト値: ""

ssl-cert

  • PEM形式でエンコードされたX509証明書ファイルのパスを指定します。たとえば、 /path/to/drainer.pem
  • デフォルト値: ""

ssl-key

  • PEM形式でエンコードされたX509キーファイルのパスを指定します。たとえば、 /path/to/pump-key.pem
  • デフォルト値: ""

シンカー

syncerセクションには、ダウンストリームに関連する構成アイテムが含まれています。

db-type

現在、次のダウンストリームタイプがサポートされています。

  • mysql
  • tidb
  • kafka
  • file

デフォルト値: mysql

sql-mode

  • ダウンストリームがmysqlまたはtidbタイプの場合のSQLモードを指定します。複数のモードがある場合は、コンマを使用してそれらを区切ります。
  • デフォルト値: ""

無視-txn-commit-ts

  • binlogが無視されるコミットタイムスタンプを[416815754209656834, 421349811963822081]などで指定します。
  • デフォルト値: []

無視-スキーマ

  • レプリケーション中に無視されるデータベースを指定します。無視するデータベースが複数ある場合は、コンマを使用してそれらを区切ります。 binlogファイル内のすべての変更がフィルタリングされると、binlogファイル全体が無視されます。
  • デフォルト値: INFORMATION_SCHEMA,PERFORMANCE_SCHEMA,mysql

無視テーブル

レプリケーション中に指定されたテーブルの変更を無視します。 tomlのファイルで無視する複数のテーブルを指定できます。例えば:

[[syncer.ignore-table]]
db-name = "test"
tbl-name = "log"

[[syncer.ignore-table]]
db-name = "test"
tbl-name = "audit"

binlogファイル内のすべての変更がフィルタリングされると、binlogファイル全体が無視されます。

デフォルト値: []

レプリケート-do-db

  • 複製するデータベースを指定します。たとえば、 [db1, db2]
  • デフォルト値: []

複製-実行-テーブル

複製するテーブルを指定します。例えば:

[[syncer.replicate-do-table]]
db-name ="test"
tbl-name = "log"

[[syncer.replicate-do-table]]
db-name ="test"
tbl-name = "~^a.*"

デフォルト値: []

txn-バッチ

  • ダウンストリームがmysqlまたはtidbタイプの場合、DML操作は異なるバッチで実行されます。このパラメーターは、各トランザクションに含めることができるDML操作の数を指定します。
  • デフォルト値: 20

労働者数

  • ダウンストリームがmysqlまたはtidbタイプの場合、DML操作は同時に実行されます。このパラメーターは、DML操作の同時実行数を指定します。
  • デフォルト値: 16

disable-dispatch

  • 同時実行を無効にし、 worker-countから1に強制的に設定します。
  • デフォルト値: false

セーフモード

セーフモードが有効になっている場合、Drainerはレプリケーションの更新を次のように変更します。

  • InsertReplace Intoに変更されます
  • UpdateDeleteプラスReplace Intoに変更されます

デフォルト値: false

syncer.to

syncer.toのセクションでは、構成タイプに応じて、さまざまなタイプのダウンストリーム構成アイテムを紹介します。

mysql / tidb

次の構成項目は、ダウンストリームデータベースへの接続に関連しています。

  • host :この項目が設定されていない場合、TiDBBinlogはデフォルトでlocalhostであるMYSQL_HOST環境変数をチェックしようとします。
  • port :この項目が設定されていない場合、TiDBBinlogはデフォルトで3306であるMYSQL_PORT環境変数をチェックしようとします。
  • user :この項目が設定されていない場合、TiDBBinlogはデフォルトでrootであるMYSQL_USER環境変数をチェックしようとします。
  • password :この項目が設定されていない場合、TiDBBinlogはデフォルトで""であるMYSQL_PSWD環境変数をチェックしようとします。

ファイル

  • dir :binlogファイルが保存されるディレクトリを指定します。この項目が設定されていない場合は、 data-dirが使用されます。

カフカ

ダウンストリームがKafkaの場合、有効な構成項目は次のとおりです。

  • zookeeper-addrs
  • kafka-addrs
  • kafka-version
  • kafka-max-messages
  • kafka-max-message-size
  • topic-name

syncer.to.checkpoint

  • type :レプリケーションの進行状況を保存する方法を指定します。現在、使用可能なオプションはmysql 、およびtidb file

    この構成項目は、デフォルトでダウンストリームタイプと同じです。たとえば、ダウンストリームがfileの場合、チェックポイントの進行状況はローカルファイル<data-dir>/savepointに保存されます。ダウンストリームがmysqlの場合、進行状況はダウンストリームデータベースに保存されます。進行状況を保存するためにmysqlまたはtidbを使用して明示的に指定する必要がある場合は、次の構成を行います。

  • デフォルトではschema"tidb_binlog"

    ノート:

    同じTiDBクラスタに複数のDrainerノードをデプロイする場合は、ノードごとに異なるチェックポイントスキーマを指定する必要があります。そうしないと、2つのインスタンスのレプリケーションの進行状況が相互に上書きされます。

  • host

  • user

  • password

  • port