DSE Advanced Replication(DSE拡張レプリケーション)の使用
DSE Advanced Replication(DSE拡張レプリケーション)の起動、停止、構成などの操作を説明します。
dse.yaml
dse.yamlファイルの場所は、インストールのタイプによって異なります。パッケージ・インストール | /etc/dse/dse.yaml |
tarボール・インストール | installation_location/resources/dse/conf/dse.yaml |
cassandra.yaml
cassandra.yamlファイルの場所は、インストールのタイプによって異なります。パッケージ・インストール | /etc/dse/cassandra/cassandra.yaml |
tarボール・インストール | installation_location/resources/cassandra/conf/cassandra.yaml |
DSE Advanced Replication(DSE拡張レプリケーション)の起動、停止、構成などの操作を説明します。
- DSE Advanced Replication(DSE拡張レプリケーション)を起動する
- DSE Advanced Replication(DSE拡張レプリケーション)を停止する
- グローバル構成設定を構成する
- デスティネーション設定を構成する
- チャネル設定を構成する
- セキュリティ
- データの挿入方法
- 操作を監視する
DSE Advanced Replication(DSE拡張レプリケーション)を起動する
DSE Advanced Replication(DSE拡張レプリケーション)を起動して使用する前に、ソース・クラスターとデスティネーション・クラスター上にユーザーのキースペースとテーブルを作成する必要があります。
- 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
- Capture-Data-Change(CDC)をcassandra.yaml ファイルで各ソースのノードごとに有効にします。
cdc_enabled: true cdc_raw_directory: /var/lib/cassandra/cdc_raw
注: CDCが有効になっていないと、Advanced Replication(拡張レプリケーション)は起動しません。デフォルトのディレクトリーを使用するか、必要な場所に変更します。 - 負荷に応じて、デフォルトのCDCディスク領域を増やすことを検討してください(デフォルト:4096 MB、または
cdc_raw_directory
が存在する領域の合計容量の1/8)。cdc_total_space_in_mb: 16384
- Commitlog圧縮はデフォルトでオフになっています。拡張レプリケーションで問題が発生するのを回避するため、このオプションは使用しないでください。
# commitlog_compression: # - class_name: LZ4Compressor
- ローリング再起動を行います。他のノードがオンラインで稼働している状態でソース・クラスター内のノードを1つずつ再起動します。
DSE Advanced Replication(DSE拡張レプリケーション)を無効にする
- レプリケーションを無効にするには、 dse.yaml ファイルを編集します。
advanced_replication_options
セクションで、enabled: false
を設定します。# Advanced Replication configuration settings advanced_replication_options: enabled: false
- ローリング再起動を行います。他のノードがオンラインで稼働している状態でソース・クラスター内のノードを1つずつ再起動します。
- 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 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 |
監査ログ・ファイルの最大有効期間を指定します。定期的にログ・ファイルがローテートされると、監査ログ・ファイルは以下の場合にパージされます。
|
あり |
audit-log-rotate-time-mins | 60 | 監査ログ・ファイルをローテートする時間間隔を指定します。ローテンション時に、ローテートされたファイルには[0]から順にインクリメントするログ・カウンター.[logcounter]が追加書き込みされます。ローテーションを無効にするには、0に設定します。 | あり |
デスティネーション設定を構成する
デスティネーションは、ソース・データが書き込まれる場所です。デスティネーションは、自動的に作成されるCQLテーブルdse_system.advrep_destination_configに格納されます。
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 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ファイル層でソース・データを読み取るため、基本的にスーパーユーザーとして読み取り、構成済みのすべてのデータ・テーブルにアクセスできます。
- dse.yaml ファイルで以下の手順を実行します。
- config_encryption_activeプロパティがfalseに設定されていることを確認します。
config_encryption_active: false
- conf_driver_password_encryption_enabledプロパティでドライバーのパスワード暗号化を有効にします。
conf_driver_password_encryption_enabled: true
- ディスク上のシステム・キーの格納場所を指定します。キーの場所は、-dオプションまたはsystem_key_directory( dse.yaml)を使用してコマンド・ラインで指定されます。デフォルトのファイルパスは/etc/dse/confです。
- 生成した暗号化キーのファイル名を構成するには、config_encryption_key_nameオプション(dse.yaml)を設定します。デフォルトの名前は
system_key
です。
- config_encryption_activeプロパティがfalseに設定されていることを確認します。
- システム・キーを生成します。サーバー内に生成する場合:
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サブプロパティが指定されていない場合に使用されます。
- 戻り値をコピーします。
- DSE Advanced Replication(DSE拡張レプリケーション)環境のソース・クラスター内のノードでdseコマンドを使用して暗号化されたパスワードを設定します。
dse advrep destination --driver-pwd "Sa9xOVaym7bddjXUT/eeOQ==" --driver-user "username"
- dseを起動します。
データの挿入方法
データをDataStax Enterpriseクラスターに挿入する方法はいくつかあります。通常のパスを使用すると、DSE Advanced Replication(DSE拡張レプリケーション)を使用してデータがレプリケートされます。
- CQL INSERT(標準のDSEドライバーを使用するcqlshおよびアプリケーションを含む)
- CSVファイルからのコピー
- Solr HTTPまたはCQL
- Spark saveToCassandra
- sstableloader(Cassandraバルク・ローダー)
- OpsCenterのバックアップからの復元
- Spark bulkSaveToCassandra
操作を監視する
JMXメトリクスを使用すると、拡張レプリケーションを監視することができます。監視する主な要素は出力レプリケーションのキュー・サイズです。詳細については、「メトリクス」を参照してください。