DSE Advanced Replication(DSE拡張レプリケーション)の使用

DSE Advanced Replication(DSE拡張レプリケーション)の起動、停止、構成などの操作を説明します。

cassandra.yaml

cassandra.yamlファイルの場所は、インストールのタイプによって異なります。
パッケージ・インストール /etc/dse/cassandra/cassandra.yaml
tarボール・インストール installation_location/resources/cassandra/conf/cassandra.yaml

dse.yaml

dse.yamlファイルの場所は、インストールのタイプによって異なります。
パッケージ・インストール /etc/dse/dse.yaml
tarボール・インストール installation_location/resources/dse/conf/dse.yaml

DSE Advanced Replication(DSE拡張レプリケーション)の起動、停止、構成などの操作を説明します。

  1. DSE Advanced Replication(DSE拡張レプリケーション)を起動する
  2. DSE Advanced Replication(DSE拡張レプリケーション)を停止する
  3. グローバル構成設定を構成する
  4. デスティネーション設定を構成する
  5. チャネル設定を構成する
  6. セキュリティ
  7. データの挿入方法
  8. 操作を監視する

DSE Advanced Replication(DSE拡張レプリケーション)を起動する

重要: 前提条件:DSE 5.0のAdvanced Replication(拡張レプリケーション)V1を使用している場合は、DSE 5.1にアップグレードし、Advanced Replication(拡張レプリケーション)V2に移行する必要があります。

DSE Advanced Replication(DSE拡張レプリケーション)を起動して使用する前に、ソース・クラスターとデスティネーション・クラスター上にユーザーのキースペースとテーブルを作成する必要があります。

ソース・クラスターのすべてのノードで以下の手順を実行します。
  1. dse.yamlファイルでレプリケーションを有効にします。
    advanced_replication_optionsエントリーをすべてコメント解除し、enabled: trueを設定してから、advanced_replication_directoryで拡張レプリケーション・ログ・ファイルを格納するためのディレクトリーを指定します。
    # Advanced Replication configuration settings
    advanced_replication_options:
      enabled: true
      advanced_replication_directory: /var/lib/cassandra/advrep
  2. Capture-Data-Change(CDC)cassandra.yaml ファイルで各ソースのノードごとに有効にします。
    cdc_enabled: true
    cdc_raw_directory: /var/lib/cassandra/cdc_raw
    注: CDCが有効になっていないと、Advanced Replication(拡張レプリケーション)は起動しません。デフォルトのディレクトリーを使用するか、必要な場所に変更します。
  3. 負荷に応じて、デフォルトのCDCディスク領域を増やすことを検討してください(デフォルト:4096 MB、またはcdc_raw_directoryが存在する領域の合計容量の1/8)。
    cdc_total_space_in_mb: 16384
  4. Commitlog圧縮はデフォルトでオフになっています。拡張レプリケーションで問題が発生するのを回避するため、このオプションは使用しないでください。
    # commitlog_compression:
    #   - class_name: LZ4Compressor
  5. ローリング再起動を行います。他のノードがオンラインで稼働している状態でソース・クラスター内のノードを1つずつ再起動します。

DSE Advanced Replication(DSE拡張レプリケーション)を無効にする

レプリケーションが有効になっていない場合、データはレプリケーション・ログに書き込まれません。ソース・クラスターのすべてのノードで以下の手順を実行します。
  1. レプリケーションを無効にするには、 dse.yaml ファイルを編集します。
    advanced_replication_optionsセクションで、enabled: falseを設定します。
    # Advanced Replication configuration settings
    advanced_replication_options:
      enabled: false
  2. ローリング再起動を行います。他のノードがオンラインで稼働している状態でソース・クラスター内のノードを1つずつ再起動します。
  3. DSE Advanced Replication(DSE拡張レプリケーション)に使用したデータを消去するには、cqlshを使用して以下のキースペースを削除します。
    DROP TABLE dse_system.advrep_source_config;
    DROP TABLE dse_system.advrep_destination_config;
    DROP TABLE dse_system.advrep_repl_channel_config;
    DROP KEYSPACE dse_advrep;

グローバル構成設定を構成する

グローバル設定はソース・クラスター全体に適用されます。これらのグローバル設定は、自動的に作成されるCQLテーブルdse_system.advrep_source_configに格納されます。

グローバル設定を変更するには、以下の構文でdse advrepコマンドライン・ツールを使用します。
dse advrep conf ...
ソース・ノードの構成設定を表示するには、以下のコマンドを実行します。
dse advrep conf list
以下のような結果が表示されます。
-----------------------------------
|name             |value          |
-----------------------------------
|audit_log_file   |/tmp/myaudit.gz|
-----------------------------------
|audit_log_enabled|true           |
-----------------------------------

以下の表で、構成キーとそのデフォルト値を説明し、変更が認識されるためにソース・ノードを再起動する必要があるかどうかを示します。

dse advrepコマンドライン・ツールは、以下の構成キーをdse advrepコマンドライン・ツールのコマンド引数として使用します。
構成キー デフォルト値 説明 再起動の必要性
permits 30,000 すべてのデスティネーションに並列処理でレプリケートできる最大メッセージ数。 なし
source-id なし このソース・クラスターとこのクラスターからのすべての挿入を特定します。また、source-idを挿入するには、source-idがデスティネーションのプライマリ・キーに存在する必要があります。 なし
collection-expire-after-write なし
collection-time-slice-count 5 インジェスターで同時に開かれているファイルの数。 あり
collection-time-slice-width 60秒 各データ・ブロックが取り込まれる時間(秒)。時間幅を狭くすると取り込まれるファイル数が多くなります。時間幅を広くするとより大きなファイルが取り込まれますが、CRCの不一致により再送されるデータも増えます。 あり
invalid-message-log SYSTEM_LOG 無効なメッセージが破棄されるときに適用するロギング・ストラテジを以下から1つ選択します。

SYSTEM_LOG:CQLクエリーとエラー・メッセージをデスティネーションのシステム・ログに記録します。

CHANNEL_LOG:CQLクエリーとエラー・メッセージをデスティネーションの/var/lib/cassandra/advrep/invalid_queriesにあるファイルに格納します。

NONE:ロギングは実行されません。

無効なメッセージの管理」を参照してください。ノードを再起動する必要があります。
なし
audit-log-enable false 監査ログを格納するかどうかを指定します。 あり
audit-log-file /tmp/advrep_rl_audit.log 監査ログ・ファイルのファイル名プレフィックスのテンプレートを指定します。gzipで圧縮されている場合、ファイル名には.gzが追加されます。 あり
audit-log-max-life-span-mins 0
監査ログ・ファイルの最大有効期間を指定します。定期的にログ・ファイルがローテートされると、監査ログ・ファイルは以下の場合にパージされます。
  • 監査ログ・ファイル・テンプレートに一致している
  • かつ、書き込まれないまま、指定された最大有効期間(分)を経過している
パージを無効にするには、0に設定します。
あり
audit-log-rotate-time-mins 60 監査ログ・ファイルをローテートする時間間隔を指定します。ローテンション時に、ローテートされたファイルには[0]から順にインクリメントするログ・カウンター.[logcounter]が追加書き込みされます。ローテーションを無効にするには、0に設定します。 あり

デスティネーション設定を構成する

デスティネーションは、ソース・データが書き込まれる場所です。デスティネーションは、自動的に作成されるCQLテーブルdse_system.advrep_destination_configに格納されます。

デスティネーション設定を変更するには、以下の構文でdse advrepコマンドライン・ツールを使用します。
dse advrep destination ...
チャネル構成は変更する前に確認できます。例を次に示します。
dse advrep destination list-conf
以下のような結果が表示されます。
--------------------------------------------------------------------------------------------
|destination|name                                |value                                    |
--------------------------------------------------------------------------------------------
|mydest     |driver_ssl_enabled                  |false                                    |
--------------------------------------------------------------------------------------------
|mydest     |addresses                           |10.200.182.251                           |
--------------------------------------------------------------------------------------------
|mydest     |driver_read_timeout                 |15000                                    |
--------------------------------------------------------------------------------------------
|mydest     |driver_connections_max              |8                                        |
--------------------------------------------------------------------------------------------
|mydest     |source_id_column                    |source_id                                  |
--------------------------------------------------------------------------------------------
|mydest     |driver_connect_timeout              |15000                                    |
--------------------------------------------------------------------------------------------
|mydest     |driver_ssl_protocol                 |TLS                                      |
--------------------------------------------------------------------------------------------
|mydest     |driver_consistency_level            |QUORUM                                   |
--------------------------------------------------------------------------------------------
|mydest     |driver_used_hosts_per_remote_dc     |0                                        |
--------------------------------------------------------------------------------------------
|mydest     |driver_allow_remote_dcs_for_local_cl|false                                    |
--------------------------------------------------------------------------------------------
|mydest     |driver_compression                  |lz4                                      |
--------------------------------------------------------------------------------------------
|mydest     |driver_connections                  |1                                        |
--------------------------------------------------------------------------------------------
|mydest     |driver_ssl_cipher_suites            |[TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,|
|           |                                    |,                                        |
|           |                                    |TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,   |
|           |                                    |,                                        |
|           |                                    |TLS_RSA_WITH_AES_256_CBC_SHA256,         |
|           |                                    |,                                        |
|           |                                    |TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384,  |
|           |                                    |,                                        |
|           |                                    |TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384,    |
|           |                                    |,                                        |
|           |                                    |TLS_DHE_RSA_WITH_AES_256_CBC_SHA256,     |
|           |                                    |,                                        |
|           |                                    |TLS_DHE_DSS_WITH_AES_256_CBC_SHA256,     |
|           |                                    |,                                        |
|           |                                    |TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,    |
|           |                                    |,                                        |
|           |                                    |TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,      |
|           |                                    |,                                        |
|           |                                    |TLS_RSA_WITH_AES_256_CBC_SHA,            |
|           |                                    |,                                        |
|           |                                    |TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA,     |
|           |                                    |,                                        |
|           |                                    |TLS_ECDH_RSA_WITH_AES_256_CBC_SHA,       |
|           |                                    |,                                        |
|           |                                    |TLS_DHE_RSA_WITH_AES_256_CBC_SHA,        |
|           |                                    |,                                        |
|           |                                    |TLS_DHE_DSS_WITH_AES_256_CBC_SHA,        |
|           |                                    |,                                        |
|           |                                    |TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256, |
|           |                                    |,                                        |
|           |                                    |TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,   |
|           |                                    |,                                        |
|           |                                    |TLS_RSA_WITH_AES_128_CBC_SHA256,         |
|           |                                    |,                                        |
|           |                                    |TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256,  |
|           |                                    |,                                        |
|           |                                    |TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256,    |
|           |                                    |,                                        |
|           |                                    |TLS_DHE_RSA_WITH_AES_128_CBC_SHA256,     |
|           |                                    |,                                        |
|           |                                    |TLS_DHE_DSS_WITH_AES_128_CBC_SHA256,     |
|           |                                    |,                                        |
|           |                                    |TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,    |
|           |                                    |,                                        |
|           |                                    |TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,      |
|           |                                    |,                                        |
|           |                                    |TLS_RSA_WITH_AES_128_CBC_SHA,            |
|           |                                    |,                                        |
|           |                                    |TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA,     |
|           |                                    |,                                        |
|           |                                    |TLS_ECDH_RSA_WITH_AES_128_CBC_SHA,       |
|           |                                    |,                                        |
|           |                                    |TLS_DHE_RSA_WITH_AES_128_CBC_SHA,        |
|           |                                    |,                                        |
|           |                                    |TLS_DHE_DSS_WITH_AES_128_CBC_SHA,        |
|           |                                    |,                                        |
|           |                                    |TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, |
|           |                                    |,                                        |
|           |                                    |TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, |
|           |                                    |,                                        |
|           |                                    |TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,   |
|           |                                    |,                                        |
|           |                                    |TLS_RSA_WITH_AES_256_GCM_SHA384,         |
|           |                                    |,                                        |
|           |                                    |TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384,  |
|           |                                    |,                                        |
|           |                                    |TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384,    |
|           |                                    |,                                        |
|           |                                    |TLS_DHE_RSA_WITH_AES_256_GCM_SHA384,     |
|           |                                    |,                                        |
|           |                                    |TLS_DHE_DSS_WITH_AES_256_GCM_SHA384,     |
|           |                                    |,                                        |
|           |                                    |TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,   |
|           |                                    |,                                        |
|           |                                    |TLS_RSA_WITH_AES_128_GCM_SHA256,         |
|           |                                    |,                                        |
|           |                                    |TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256,  |
|           |                                    |,                                        |
|           |                                    |TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256,    |
|           |                                    |,                                        |
|           |                                    |TLS_DHE_RSA_WITH_AES_128_GCM_SHA256,     |
|           |                                    |,                                        |
|           |                                    |TLS_DHE_DSS_WITH_AES_128_GCM_SHA256,     |
|           |                                    |,                                        |
|           |                                    |TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA,   |
|           |                                    |,                                        |
|           |                                    |TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA,     |
|           |                                    |,                                        |
|           |                                    |SSL_RSA_WITH_3DES_EDE_CBC_SHA,           |
|           |                                    |,                                        |
|           |                                    |TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA,    |
|           |                                    |,                                        |
|           |                                    |TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA,      |
|           |                                    |,                                        |
|           |                                    |SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA,       |
|           |                                    |,                                        |
|           |                                    |SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA,       |
|           |                                    |,                                        |
|           |                                    |TLS_ECDHE_ECDSA_WITH_RC4_128_SHA,        |
|           |                                    |,                                        |
|           |                                    |TLS_ECDHE_RSA_WITH_RC4_128_SHA,          |
|           |                                    |,                                        |
|           |                                    |SSL_RSA_WITH_RC4_128_SHA,                |
|           |                                    |,                                        |
|           |                                    |TLS_ECDH_ECDSA_WITH_RC4_128_SHA,         |
|           |                                    |,                                        |
|           |                                    |TLS_ECDH_RSA_WITH_RC4_128_SHA,           |
|           |                                    |,                                        |
|           |                                    |SSL_RSA_WITH_RC4_128_MD5,                |
|           |                                    |,                                        |
|           |                                    |TLS_EMPTY_RENEGOTIATION_INFO_SCSV]       |
--------------------------------------------------------------------------------------------
|mydest     |source_id                           |source1                                  |
--------------------------------------------------------------------------------------------
|mydest     |transmission_enabled                |true                                     |
--------------------------------------------------------------------------------------------
|llpdest    |driver_ssl_enabled                  |false                                    |
--------------------------------------------------------------------------------------------
|llpdest    |addresses                           |10.200.177.184                           |
--------------------------------------------------------------------------------------------
|llpdest    |driver_read_timeout                 |15000                                    |
--------------------------------------------------------------------------------------------
|llpdest    |driver_connections_max              |8                                        |
--------------------------------------------------------------------------------------------
|llpdest    |source_id_column                    |source_id                                |
--------------------------------------------------------------------------------------------
|llpdest    |driver_connect_timeout              |15000                                    |
--------------------------------------------------------------------------------------------
|llpdest    |driver_ssl_protocol                 |TLS                                      |
--------------------------------------------------------------------------------------------
|llpdest    |driver_consistency_level            |ONE                                      |
--------------------------------------------------------------------------------------------
|llpdest    |driver_used_hosts_per_remote_dc     |0                                        |
--------------------------------------------------------------------------------------------
|llpdest    |driver_allow_remote_dcs_for_local_cl|false                                    |
--------------------------------------------------------------------------------------------
|llpdest    |driver_compression                  |lz4                                      |
--------------------------------------------------------------------------------------------
|llpdest    |driver_connections                  |1                                        |
--------------------------------------------------------------------------------------------
|llpdest    |driver_ssl_cipher_suites            |[TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,|
|           |                                    |,                                        |
|           |                                    |TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,   |
|           |                                    |,                                        |
|           |                                    |TLS_RSA_WITH_AES_256_CBC_SHA256,         |
|           |                                    |,                                        |
|           |                                    |TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384,  |
|           |                                    |,                                        |
|           |                                    |TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384,    |
|           |                                    |,                                        |
|           |                                    |TLS_DHE_RSA_WITH_AES_256_CBC_SHA256,     |
|           |                                    |,                                        |
|           |                                    |TLS_DHE_DSS_WITH_AES_256_CBC_SHA256,     |
|           |                                    |,                                        |
|           |                                    |TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,    |
|           |                                    |,                                        |
|           |                                    |TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,      |
|           |                                    |,                                        |
|           |                                    |TLS_RSA_WITH_AES_256_CBC_SHA,            |
|           |                                    |,                                        |
|           |                                    |TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA,     |
|           |                                    |,                                        |
|           |                                    |TLS_ECDH_RSA_WITH_AES_256_CBC_SHA,       |
|           |                                    |,                                        |
|           |                                    |TLS_DHE_RSA_WITH_AES_256_CBC_SHA,        |
|           |                                    |,                                        |
|           |                                    |TLS_DHE_DSS_WITH_AES_256_CBC_SHA,        |
|           |                                    |,                                        |
|           |                                    |TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256, |
|           |                                    |,                                        |
|           |                                    |TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,   |
|           |                                    |,                                        |
|           |                                    |TLS_RSA_WITH_AES_128_CBC_SHA256,         |
|           |                                    |,                                        |
|           |                                    |TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256,  |
|           |                                    |,                                        |
|           |                                    |TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256,    |
|           |                                    |,                                        |
|           |                                    |TLS_DHE_RSA_WITH_AES_128_CBC_SHA256,     |
|           |                                    |,                                        |
|           |                                    |TLS_DHE_DSS_WITH_AES_128_CBC_SHA256,     |
|           |                                    |,                                        |
|           |                                    |TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,    |
|           |                                    |,                                        |
|           |                                    |TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,      |
|           |                                    |,                                        |
|           |                                    |TLS_RSA_WITH_AES_128_CBC_SHA,            |
|           |                                    |,                                        |
|           |                                    |TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA,     |
|           |                                    |,                                        |
|           |                                    |TLS_ECDH_RSA_WITH_AES_128_CBC_SHA,       |
|           |                                    |,                                        |
|           |                                    |TLS_DHE_RSA_WITH_AES_128_CBC_SHA,        |
|           |                                    |,                                        |
|           |                                    |TLS_DHE_DSS_WITH_AES_128_CBC_SHA,        |
|           |                                    |,                                        |
|           |                                    |TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, |
|           |                                    |,                                        |
|           |                                    |TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, |
|           |                                    |,                                        |
|           |                                    |TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,   |
|           |                                    |,                                        |
|           |                                    |TLS_RSA_WITH_AES_256_GCM_SHA384,         |
|           |                                    |,                                        |
|           |                                    |TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384,  |
|           |                                    |,                                        |
|           |                                    |TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384,    |
|           |                                    |,                                        |
|           |                                    |TLS_DHE_RSA_WITH_AES_256_GCM_SHA384,     |
|           |                                    |,                                        |
|           |                                    |TLS_DHE_DSS_WITH_AES_256_GCM_SHA384,     |
|           |                                    |,                                        |
|           |                                    |TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,   |
|           |                                    |,                                        |
|           |                                    |TLS_RSA_WITH_AES_128_GCM_SHA256,         |
|           |                                    |,                                        |
|           |                                    |TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256,  |
|           |                                    |,                                        |
|           |                                    |TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256,    |
|           |                                    |,                                        |
|           |                                    |TLS_DHE_RSA_WITH_AES_128_GCM_SHA256,     |
|           |                                    |,                                        |
|           |                                    |TLS_DHE_DSS_WITH_AES_128_GCM_SHA256,     |
|           |                                    |,                                        |
|           |                                    |TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA,   |
|           |                                    |,                                        |
|           |                                    |TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA,     |
|           |                                    |,                                        |
|           |                                    |SSL_RSA_WITH_3DES_EDE_CBC_SHA,           |
|           |                                    |,                                        |
|           |                                    |TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA,    |
|           |                                    |,                                        |
|           |                                    |TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA,      |
|           |                                    |,                                        |
|           |                                    |SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA,       |
|           |                                    |,                                        |
|           |                                    |SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA,       |
|           |                                    |,                                        |
|           |                                    |TLS_ECDHE_ECDSA_WITH_RC4_128_SHA,        |
|           |                                    |,                                        |
|           |                                    |TLS_ECDHE_RSA_WITH_RC4_128_SHA,          |
|           |                                    |,                                        |
|           |                                    |SSL_RSA_WITH_RC4_128_SHA,                |
|           |                                    |,                                        |
|           |                                    |TLS_ECDH_ECDSA_WITH_RC4_128_SHA,         |
|           |                                    |,                                        |
|           |                                    |TLS_ECDH_RSA_WITH_RC4_128_SHA,           |
|           |                                    |,                                        |
|           |                                    |SSL_RSA_WITH_RC4_128_MD5,                |
|           |                                    |,                                        |
|           |                                    |TLS_EMPTY_RENEGOTIATION_INFO_SCSV]       |
--------------------------------------------------------------------------------------------
|llpdest    |source_id                           |source1                                  |
--------------------------------------------------------------------------------------------
|llpdest    |transmission_enabled                |false                                    |
--------------------------------------------------------------------------------------------

以下の表で、構成キーとそのデフォルト値を説明し、変更が認識されるためにソース・ノードを再起動する必要があるかどうかを示します。

構成キー デフォルト値 説明 再起動の必要性
separator なし フィールド区切り文字。 なし
name なし デスティネーションの名前(必須)。 なし
addresses none 必須。DataStax Javaドライバーを使用して、デスティネーション・クラスターに接続するために使用するIPアドレスのコンマ区切りリスト。 なし
driver-allow-remote-dcs-for-local-cl false 複数のデータ・センターを持つデスティネーション・クラスターで自動フェイルオーバーを有効にするには、trueに設定します。driver-consistency-levelパラメーターの値は、LOCAL_ONEまたはLOCAL_QUORUMに指定する必要があります。 あり
driver-compression lz4 DataStax Javaドライバーがソースからデスティネーションにデータを送信するために使用する圧縮アルゴリズム。サポートされている値はlz4およびsnappyです。 あり
driver-connect-timeout 15000 DataStax Javaドライバーがサーバーに接続するまでの待機時間(ミリ秒)。 なし
driver-connections 32 DataStax Javaドライバーが作成する接続の数。 あり
driver-connections-max 256 DataStax Javaドライバーが作成する接続の最大数。 あり
driver-max-requests-per-connection 1024 DataStax Javaドライバーが作成する接続ごとの最大要求数。
driver-consistency-level ONE DataStax Javaドライバーがデータをデスティネーションにレプリケートするために文を実行するときに使用する整合性レベル。有効なDSECONSISTENCYレベルをANY、ONE、TWO、THREE、QUORUM、ALL、LOCAL_QUORUM、EACH_QUORUM、SERIAL、LOCAL_SERIAL、またはLOCAL_ONEから指定します。 なし
driver-local-dc なし 複数のデータ・センターを持つデスティネーション・クラスターでは、ローカルと見なされるデータ・センターの名前を明示的に定義できます。通常、ソース・クラスターに最も近いデータ・センターがこれに該当します。この値は、複数のデータ・センターを持つクラスターにのみ使用されます。 あり
driver-pwd none デスティネーションに接続する際にユーザー名とパスワードが必要な場合のドライバーのパスワード。デスティネーションへの接続のdriver-pwd値を変更すると自動的に接続されますが、若干の遅延が生じます。
注: デフォルトでは、ドライバーのユーザー名とパスワードはプレーン・テキストです。DataStaxでは、ドライバーのパスワードをCQLテーブルに追加する前に暗号化することを推奨しています。
あり
driver-read-timeout 15000 DataStax Javaドライバーがサーバーから応答を読み取るまでの待機時間(ミリ秒)。 なし
driver-ssl-enabled false デスティネーションへの接続でSSLが有効かどうかを指定します。 あり
driver-ssl-disabled デスティネーションへの接続でSSLを無効にします。
driver_ssl_keystore_path none SSLクライアント認証が有効になっているときにDSEに接続するためのキーストアへのパス。 あり
driver_ssl_keystore_password none SSLクライアント認証が有効になっているときにDSEに接続するためのキーストア・パスワード。 あり
driver_ssl_keystore_type none SSLクライアント認証が有効になっているときにDSEに接続するためのキーストアのタイプ。 あり
driver_ssl_truststore_path none SSLが有効になっているときにDSEに接続するためのトラストストアへのパス。 あり
driver-ssl-truststore-password none SSLが有効になっているときにDSEに接続するためのトラストストア・プロトコル。 あり
driver-ssl-truststore-type none SSLクライアント認証が有効になっているときにDSEに接続するためのキーストアのタイプ。 あり
driver-ssl-protocol TLS SSLが有効になっているときにDSEに接続するためのSSLプロトコル。 あり
driver-ssl-cipher-suites none SSLが有効になっているときにDSEに接続するためのSSL暗号化スイートのコンマ区切りリスト。暗号化スイートがソース・マシンでサポートされている必要があります。 あり
driver-used-hosts-per-remote-dc 0 複数のデータ・センターを持つデスティネーション・クラスターに自動フェイルオーバーを使用するには、データ・センター認識ラウンド・ロビン・ポリシー(DCAwareRoundRobinPolicy)で使用可能と見なされるリモート・データ・センターごとのホストの数を定義する必要があります。 あり
driver-user none デスティネーションに接続する際にユーザー名とパスワードが必要な場合のドライバーのユーザー名。デスティネーションへの接続のdriver-user値を変更すると自動的に接続されますが、若干の遅延が生じます。 あり
source-id なし このソース・クラスターとこのクラスターからのすべての挿入を特定します。また、source-idを挿入するには、source-idがデスティネーションのプライマリ・キーに存在する必要があります。 なし
source-id-column source-id ソースIDを更新の一部として挿入するためにリモート・テーブルで使用するカラム。このカラムが更新中のテーブルに存在しない場合、ソースIDの値は無視されます。 なし
transmission-enabled false ブーリアン値を使用して、テーブルのデータ・コレクターをデスティネーションにレプリケートする場合に指定します。 なし

チャネル設定を構成する

レプリケーション・チャネルは、ソース・クラスターとデスティネーション・クラスター間のデータ変更に定義されているチャネルです。

レプリケーション・チャネルは、ソース・クラスター、ソース・キースペース、ソース・テーブル名、デスティネーション・クラスター、デスティネーション・キースペース、およびデスティネーション・テーブル名によって定義されます。各チャネル(一意のキースペースとテーブル)のレプリケーションは、自動的に作成されるCQLテーブルdse_system.advrep_repl_channel_configに格納されます。

設定を変更するには、以下の構文でdse advrepコマンドライン・ツールを使用します。
dse advrep channel ...
チャネル構成は変更する前に確認できます。例を次に示します。
dse advrep channel status
以下のような結果が表示されます。
------------------------------------------------------------------------------------------------------------------------------------------------------
|dc       |keyspace|table          |collecting|transmitting|replication order|priority|dest ks|dest table     |src id |src id col|dest  |dest enabled|
------------------------------------------------------------------------------------------------------------------------------------------------------
|Cassandra|foo    |bar             |true      |true        |FIFO             |2       |foo   |bar             |source1|source_id   |mydest|true        |
------------------------------------------------------------------------------------------------------------------------------------------------------
プロパティはメタデータから連続的に読み取られるため、構成の変更を行った後で再起動する必要はありません。以下の表で構成設定について説明します。
カラム名 説明
separator フィールド区切り文字。
keyspace レプリケートするテーブルのソース上のキースペース。
table レプリケートするソース上のテーブル名。
source-id advrep_confメタデータで定義されているsource-idをオーバーライドするためのプレースホルダー。
source-id-column advrep_confメタデータで定義されているsource-id-columnをオーバーライドするためのプレースホルダー。
enabled trueの場合、レプリケーションがこのテーブルで開始されます。falseの場合、このテーブルからのメッセージがレプリケーション・ログに保存されることはありません。
data-center-id このレプリケーション・チャネルの対象となるデータ・センター。何も指定されていない場合、レプリケーションは指定されたすべてのdc1で行われます。
destination データの書き込み先。
destination-keyspace レプリケートされたテーブルのデスティネーションにあるキースペース。
destination-table レプリケートされたテーブルのデスティネーションにあるテーブル名。
priority メッセージは優先順位の降順(DESC)でマークされます。
transmission-enabled テーブルのデータ・コレクターをデスティネーションにレプリケートする場合に指定します。
fifo-order チャネルをFIFOの順でレプリケートする場合に指定します(デフォルト)。
lifo-order チャネルをLIFOの順でレプリケートする場合に指定します。

セキュリティ

認証用の資格情報は、複数の方法で指定できます。「DSEツールからの認証情報の提供」を参照してください。

DSE Advanced Replication(DSE拡張レプリケーション)でレプリケーションを実施するユーザーには、テーブルおよびキースペース・レベルの管理権限が必要です。同じユーザー・アクセスが必要な場合は、ソース・クラスターとデスティネーション・クラスターの管理権限が同じであることを確認します。

また、Advanced Replication(拡張レプリケーション)は、デスティネーション・クラスターでの行レベルのパーミッションの設定もサポートしています。デスティネーション・クラスターに接続するユーザーには、RLAC制限に応じて、ソースからレプリケートされた、指定されたデスティネーション・テーブルに行レベルで書き込むためのパーミッションが必要です。ユーザーを指定するには、--driver-user デスティネーション設定を使用します。ソース・クラスターの行レベルのアクセス制御(RLAC)がAdvanced Replication(拡張レプリケーション)に影響を及ぼすことはありません。Advanced Replication(拡張レプリケーション)は、生のCDCファイル層でソース・データを読み取るため、基本的にスーパーユーザーとして読み取り、構成済みのすべてのデータ・テーブルにアクセスできます。

Advanced Replication(拡張レプリケーション)は、ドライバーのパスワードの暗号化をサポートしています。ドライバーのパスワードはCQLテーブルに格納されます。デフォルトでは、ドライバーのパスワードは、プレーン・テキストです。DataStaxでは、ドライバーのパスワードをCQLテーブルに追加する前に暗号化することを推奨しています。SSTable暗号化には、system_keyと呼ばれるグローバル暗号化キーを作成します。ソース・クラスター内の各ノードには、同じシステム・キーが必要です。デスティネーションにはこのキーは必要ありません。
  1. dse.yaml ファイルで以下の手順を実行します。
    • config_encryption_activeプロパティがfalseに設定されていることを確認します。
      config_encryption_active: false
    • conf_driver_password_encryption_enabledプロパティでドライバーのパスワード暗号化を有効にします。
      conf_driver_password_encryption_enabled: true
    • ディスク上のシステム・キーの格納場所を指定します。キーの場所は、-dオプションまたはsystem_key_directorydse.yaml)を使用してコマンド・ラインで指定されます。デフォルトのファイルパスは/etc/dse/confです。
    • 生成した暗号化キーのファイル名を構成するには、config_encryption_key_nameオプション(dse.yaml)を設定します。デフォルトの名前はsystem_keyです。
  2. システム・キーを生成します。
    サーバー内に生成する場合:
    dsetool createsystemkey cipher_algorithm strength system_key_file
    サーバー外に生成する場合:
    dsetool createsystemkey cipher_algorithm strength system_key_file -kmip=kmip_groupname
    例を次に示します。
    dsetool createsystemkey 'AES/ECB/PKCS5Padding' 128 system_key_file
    ここで、system_key_fileは生成されるシステム・キー・ファイルの一意のファイル名です。「createsystemkey」を参照してください。

    結果:テーブルごとに透過的なデータ暗号化(TDE)を構成します。暗号化は、圧縮を行うかどうかにかかわらず構成できます。グローバル暗号化キーは、dse.yamlファイルのsystem_key_directoryで指定した場所に作成できます。このデフォルトのグローバル暗号化キーは、system_key_fileサブプロパティが指定されていない場合に使用されます。

  3. 戻り値をコピーします。
  4. DSE Advanced Replication(DSE拡張レプリケーション)環境のソース・クラスター内のノードでdseコマンドを使用して暗号化されたパスワードを設定します。
    dse advrep destination --driver-pwd "Sa9xOVaym7bddjXUT/eeOQ==" --driver-user "username"
  5. dseを起動します

データの挿入方法

データをDataStax Enterpriseクラスターに挿入する方法はいくつかあります。通常のパスを使用すると、DSE Advanced Replication(DSE拡張レプリケーション)を使用してデータがレプリケートされます。

サポートされているデータ挿入方法:
  • CQL INSERT(標準のDSEドライバーを使用するcqlshおよびアプリケーションを含む)
  • CSVファイルからのコピー
  • Solr HTTPまたはCQL
  • Spark saveToCassandra
サポートされていないデータ挿入方法:

操作を監視する

JMXメトリクスを使用すると、拡張レプリケーションを監視することができます。監視する主な要素は出力レプリケーションのキュー・サイズです。詳細については、「メトリクス」を参照してください。