cassandra.yaml構成ファイル

cassandra.yamlファイルは、DataStax Enterpriseの主要な構成ファイルです。

cassandra.yamlファイルは、DataStax Enterpriseの主要な構成ファイルです。dse.yamlファイルは、セキュリティ、DSE Search、DSE Graph、DSE Analyticsの主要な構成ファイルです。
重要: cassandra.yamlファイルでプロパティを変更したら、ノードを再起動して変更を有効にする必要があります。ファイルは、以下のディレクトリーにあります。
  • パッケージ・インストールおよびInstaller-Services:/etc/dse/cassandra
  • tarボール・インストールおよびInstaller-No Services:installation_location/resources/cassandra/conf

構文

各セクションのプロパティで、主要な設定にはスペースが含まれていないため、そのセクションの各エントリーの前にスペースを少なくとも2つ入力する必要があります。YAML構文に従います。

分類

構成プロパティを以下の各セクションにグループ分けしました。

注: が付いた値は、内部で定義されているデフォルト値、欠落している値、コメントアウトされている値、または実装がcassandra.yamlファイルのその他のプロパティに依存することを示します。さらに、コメントアウトされた一部の値が実際のデフォルト値と一致していない場合があります。これらは、デフォルト値に代わる推奨値です。

クイック・スタート・プロパティ

クラスターを構成するために必要な最小限のプロパティ。

関連情報: ワークロードの種類別に単一データ・センターを初期化する および「ワークロードの種類別に複数のデータ・センターを初期化する」。

cluster_name
デフォルト:Test Cluster。クラスターの名前。この設定により、論理クラスター内のノードが別のクラスターに参加するのを防ぎます。クラスター内のすべてのノードが同じ値を持つ必要があります。
listen_address
デフォルト:localhost。データベースがこのノードを他のノードに接続するためにバインドするIPアドレスまたはホスト名。
警告:
  • 絶対に、listen_addressを0.0.0.0に設定しないでください。
  • 同じノード上で、listen_addressとlisten_interfaceの両方に値を設定しないでください。
さまざまなユース・ケースの適切な設定は以下のとおりです。
  • 単一ノード・インストール:以下のいずれかを実行します。
    • このプロパティをコメントアウトします。ノードが適切に構成されている場合(ホスト名、名前の解決など)、データベースはInetAddress.getLocalHost()を使用してシステムからローカル・アドレスを取得します。
    • 設定はデフォルトのlocalhostのままにします。
  • マルチ・ノード・インストールのノード:このプロパティをそのノードのIPアドレスまたはホスト名に設定するか、listen_interfaceを設定します。
  • パブリックとプライベートのインターフェイス間で自動切り替えをサポートしているEC2環境内の、マルチ・ネットワーク・インストールまたはマルチ・データ・センター・インストールのノードlisten_addressをノードのIPアドレスまたはホスト名に設定するか、listen_interfaceを設定します。
  • 2つの物理ネットワーク・インターフェイスを持ち、Ec2MultiRegionSnitchを使用して複数のAmazon EC2リージョンにデプロイされているマルチ・データ・センター・インストールまたはクラスターのノード
    1. listen_addressをこのノードのプライベートIPまたはホスト名に設定するか、listen_interfaceを設定します(ローカル・データ・センター内の通信用)。
    2. broadcast_addressを2番目のIPまたはホスト名に設定します(データ・センター間通信用)。
    3. listen_on_broadcast_addresstrueに設定します。
    4. このノードがシード・ノードの場合、ノードのパブリックIPアドレスまたはホスト名をシード・リストに追加します。
  • パブリックIPファイアウォールでstorage_portまたはssl_storage_portを開きます。
listen_interface
デフォルト:eth0。。他のノードに接続するためにデータベースがバインドするインターフェイス。インターフェイスは1つのアドレスのみに対応していなければなりません。IPの別名使用はサポートされていません。同じノード上で、listen_addresslisten_interfaceの両方に値を設定しないでください。

デフォルトのディレクトリー

インストール時にデフォルトのディレクトリーのいずれかを変更した場合は、以下のプロパティを新しい場所に設定します。rootアクセス権があることを確認します。

cdc_raw_directory
CDCログが格納されるディレクトリー。デフォルトの場所:
  • パッケージ・インストールおよびInstaller-Services:/var/lib/cassandra/cdc_raw
  • tarボール・インストールおよびInstaller-No Services:/var/lib/cassandra/cdc_raw

Change Data Captureログが格納されるディレクトリー。

commitlog_directory
コミット・ログが格納されているディレクトリー。デフォルトの場所: /var/lib/cassandra/commitlog

書き込みパフォーマンスを最適化するには、コミット・ログを、データ・ファイル・ディレクトリーとは別のディスク・パーティションに置くか(理想的には)、別の物理デバイスに置いてください。コミット・ログは追加書き込み専用なので、この目的にはHDDが適しています。

data_file_directories
テーブル・データが格納されるディレクトリーの場所(SSTable内)。データベースは、構成されているコンパクション・ストラテジの細分性に応じて、データをその場所全体に均等に分散します。デフォルトの場所は、/var/lib/cassandra/dataです。

実稼働環境では、DataStaxはRAID 0およびSSDを推奨しています。

saved_caches_directory
テーブル・キーと行キャッシュが格納されるディレクトリーの場所。すべてのインストールで、saved_cachesディレクトリーのデフォルトの場所は/var/lib/cassandra/saved_cachesです。

使用頻度の高いプロパティ

DataStax Enterpriseの構成時に頻繁に使用されるプロパティ。

ノードを初めて起動する前に、慎重に要件を評価する必要があります。

一般的な初期化プロパティ

注: クイック・スタート・セクションのプロパティも必ず設定してください。
commit_failure_policy
デフォルト:stop。ディスクのコミット障害に関するポリシー:
  • die

    ゴシップとThriftを停止してJVMを強制終了し、ノードが置き換えられるようにします。

  • stop

    ゴシップとThriftを停止して、JMXを使用した調査は可能なまま、そのノードを実質的に停止状態にします。

  • stop_commit

    書き込みを禁止し、コミット・ログを停止し、読み取りを継続します。

  • ignore

    致命的なエラーを無視し、バッチ処理を失敗にします。

prepared_statements_cache_size_mb
デフォルト:auto。ヒープの1/256と10 MBのいずれか大きい方に設定されます。ネイティブ・プロトコルのプリペアド・ステートメント・キャッシュの最大サイズ。
注: 指定した値が大きすぎると、GCが長時間実行され、メモリー不足エラーになる可能性があります。ヒープに対して小さい値になるようにしてください。
文のプリペアを繰り返すと、パフォーマンス・ペナルティーをもたらします。
thrift_prepared_statements_cache_size_mb
デフォルト:auto。ヒープの1/256と10 MBのいずれか大きい方に設定されます。Thriftプリペアド・ステートメント・キャッシュの最大サイズ。Thriftを使用しない場合は空白のままにします。
注: 指定した値が大きすぎると、GCが長時間実行され、メモリー不足エラーになる可能性があります。ヒープに対して小さい値になるようにしてください。
文のプリペアを繰り返すと、パフォーマンス・ペナルティーをもたらします。
disk_optimization_strategy
デフォルト:disabled。 ディスク読み取りを最適化するストラテジ。使用可能な値:ssdまたはspinning。
disk_failure_policy
デフォルト:stop。データベースがディスク障害にどのように応答するのかを設定します。推奨設定:stopまたはbest_effort。有効な値:
  • die

    すべてのファイル・システム・エラーまたは1つのSSTableエラーに対してゴシップとThriftを終了し、JVMを強制終了して、ノードが置き換えられるようにします。

  • stop_paranoid

    1つのSSTableエラーの場合でもゴシップとThriftを停止します。

  • stop

    ゴシップとThriftを停止して、そのノードを実質的な停止状態にしておきます。ただし、JMXを使用して調査は行えます。

  • best_effort

    障害が発生したディスクの使用を停止し、使用可能な残りのSSTableに基づいて要求に応答します。これは、整合性レベルがONEの場合に古いデータを取得する可能性があります。

  • ignore

    致命的なエラーを無視し、要求を失敗にします。すべてのファイル・システム・エラーが記録され、それ以外は無視されます。

関連情報:「Handling Disk Failures In Cassandra 1.2」ブログおよびJBODを使用した単一ディスク障害からの復旧

endpoint_snitch
デフォルト:DseSimpleSnitch。IEndpointSnitchインターフェイスを実装しているクラスに設定します。データベースでは、ノードを探す際や要求をルーティングする際にスニッチを使用します。
  • DseSimpleSnitch

    開発用デプロイにのみ、適しています。近接度はDSEワークロードによって決定され、個々のデータ・センター内にトランザクション・ノード、Analyticsノード、Searchノードを配置します。データ・センターやラックの情報は認識しません。

  • GossipingPropertyFileSnitch

    実稼働環境で推奨します。ローカル・ノードのラックとデータ・センターをcassandra-rackdc.propertiesファイルで読み取り、ゴシップを介してこれらの値を他のノードに伝搬します。PropertyFileSnitchから移行するには、cassandra-topology.propertiesファイルを使用します(ファイルが存在する場合)。

    cassandra-rackdc.propertiesファイルの場所は、インストールのタイプによって異なります。

    パッケージ・インストールInstaller-Servicesインストール

    /etc/dse/cassandra/cassandra-rackdc.properties

    tarボール・インストールInstaller-No Servicesインストール

    installation_location/resources/cassandra/conf/cassandra-rackdc.properties
    cassandra-topology.propertiesファイルの場所は、インストールのタイプによって異なります。

    パッケージ・インストールInstaller-Servicesインストール

    /etc/dse/cassandra/cassandra-topology.properties

    tarボール・インストールInstaller-No Servicesインストール

    installation_location/resources/cassandra/conf/cassandra-topology.properties
  • PropertyFileSnitch

    ラックとデータ・センターにより近接度を決定します。これらはcassandra-topology.propertiesファイルで明示的に構成されています。

  • Ec2Snitch

    1つのリージョンのEC2デプロイで使用します。リージョンとアベイラビリティー・ゾーンの情報をAmazon EC2 APIから読み込みます。リージョンはデータ・センターとして扱われ、アベイラビリティー・ゾーンはラックとして扱われ、プライベートIPアドレスのみを使用します。このため、複数のリージョンでは機能しません。

  • Ec2MultiRegionSnitch

    パブリックIPをbroadcast_addressとして使用することでリージョン間の接続を可能にします。つまり、パブリックIPに対してseedアドレスも設定し、storage_portまたはssl_storage_portをパブリックIPのファイアウォール上で開く必要があります。リージョン内トラフィックのために、接続が確立した後はプライベートIPに切り替わります。

  • RackInferringSnitch

    ラックとデータ・センターにより近接度を決定します。これらの場所は、ノードのIPアドレスのそれぞれ3番目と2番目のオクテットに対応していると見なされます。カスタム・スニッチ・クラスを作成する例として適しています(これがデプロイ規則に合っている場合を除く)。

  • GoogleCloudSnitch

    Google Cloud Platformの1つ以上のリージョンにデプロイする場合に使用します。リージョンはデータ・センターとして扱われ、アベイラビリティー・ゾーンはデータ・センター内のラックとして扱われます。すべての通信は、同じ論理ネットワーク内のプライベートIPアドレスを介して行われます。

  • CloudstackSnitch

    Apache Cloudstack環境でCloudstackSnitchを使用します。

関連情報: スニッチ

rpc_address
デフォルト:localhost。クライアント接続用のリッスン・アドレス(Thrift RPCサービスとネイティブ・トランスポート)。有効な値:
  • 設定なし

    ノードに構成されているホスト名構成を使用してアドレスを解決します。未設定の場合、ホスト名は/etc/hostname、/etc/hosts、またはDNSを使用してこのノードのIPアドレスに解決されます。

  • 0.0.0.0

    すべての構成済みインターフェイスをリッスンします。broadcast_rpc_address0.0.0.0以外の値に設定する必要があります。

  • IPアドレス
  • hostname

関連情報:ネットワーク

rpc_interface
デフォルト:eth1。クライアント接続用のリッスン・アドレス。インターフェイスは1つのアドレスのみに対応していなければなりません。IPの別名使用はサポートされていません。「rpc_address」を参照してください。
rpc_interface_prefer_ipv6
デフォルト:false。インターフェイスにipv4アドレスとipv6アドレスがある場合、デフォルトでは最初のipv4アドレスが使用されます。trueに設定すると、最初のipv6アドレスが使用されます。
seed_provider
クラスター内のコンタクト・ポイントに指定されているホストのアドレス。参加するノードは-seedsリスト内のいずれかのノードに接続し、リングのトポロジーを学習します。
  • class_name(デフォルト:org.apache.cassandra.locator.SimpleSeedProvider)

    シード・ロジックを処理するクラス。カスタマイズできますが、通常は必要ありません。

  • -seeds(デフォルト:127.0.0.1
    gossipが、クラスターに追加する新しいノードをブートストラップするために使用するIPアドレスのコンマ区切りリスト。クラスターに複数のノードが含まれる場合、リストをデフォルト値からいずれかのノードのIPアドレスに変更する必要があります。
    重要: 保守タスクが増え、ゴシップのパフォーマンスが低下するため、すべてのノードをシード・ノードにすることは推奨しません。ゴシップの最適化は重要ではありませんが、シード・リストを小さくすることを推奨します(データ・センターあたり約3つのノード)。

関連情報: ワークロードの種類別に単一データ・センターを初期化する および「ワークロードの種類別に複数のデータ・センターを初期化する」。

enable_user_defined_functions
デフォルト:false。ユーザー定義関数(UDF)はサーバー側で実行されるため、セキュリティ上のリスクを伴います。UDFは、悪意のあるコードの実行を阻止するためにサンドボックスで実行されます。UDFはデフォルトで無効になっています。
enable_scripted_user_defined_functions
デフォルト:false。enable_user_defined_functionstrueの場合、Java UDFは常に有効です。language javascriptや、任意のカスタムJSR-223プロバイダーでUDFを使用するには、このオプションを有効にします。enable_user_defined_functionsfalseの場合、このオプションによる影響はありません。

一般的なコンパクション設定

compaction_throughput_mb_per_sec
デフォルト:16。インスタンス全体にわたって、1秒あたり指定したMB数までコンパクションを抑制します。データベースのデータの挿入が高速であるほど、SSTableの数を低く維持するためにはより高速でコンパクションする必要があります。推奨値は書き込みスループット速度の16~32倍です(MB/秒)。この値を0に設定すると、コンパクションのスロットルが無効になります。

関連情報: コンパクションの構成

compaction_large_partition_warning_threshold_mb
デフォルト:100。データベースは、コンパクションのパーティションが設定値よりも大きくなると、警告をログに記録します。

一般的なmemtable設定

memtable_heap_space_in_mb
デフォルト:ヒープサイズの1/4。
memtableに割り当てるオンヒープ・メモリーの量。データベースは、この量の合計とmemtable_offheap_space_in_mbの値を使用して、自動memtableフラッシュのしきい値を設定します。詳細については、「memtable_cleanup_threshold」を参照してください。

関連情報:Javaヒープの調整

memtable_offheap_space_in_mb
デフォルト:ヒープサイズの1/4。
memtableに割り当てるオフヒープ・メモリーの総量を設定します。データベースは、この量の合計とmemtable_heap_space_in_mbの値を使用して、自動memtableフラッシュのしきい値を設定します。詳細については、「memtable_cleanup_threshold」を参照してください。

関連情報:Javaヒープの調整

一般的なディスク設定

concurrent_reads
デフォルト:32。 ワークロードがメモリーに収まるデータ量を超えると、読み取り時にディスクからデータをフェッチする際にボトルネックが発生します。concurrent_readsを(16 × ドライブ数)に設定すると、操作のキューをスタック内で低く保つことでOSとドライブが順序を変更できるようになります。デフォルトの設定は、論理ボリューム・マネージャー(LVM)によって管理されるドライブとRAIDドライブの両方に適用されます。
concurrent_writes
デフォルト:32。DataStax Enterpriseでの書き込みがI/Oバウンドになることはほとんどないため、理想的な同時書き込みの数は、ノードのCPUコア数に依存します。推奨値は8 × CPUコア数です。
concurrent_counter_writes
デフォルト:32。 カウンターの書き込みは、インクリメントと書き戻しを行う前に、現在の値を読み取ります。推奨値は(16 × ドライブ数)です。
concurrent_materialized_view_writes
デフォルト:32。同時マテリアライズド・ビューの書き込み数の上限。各マテリアライズド・ビュー書き込みに読み取りが関与しているため、この上限を同時読み取り数と同時書き込み数のどちらか少ない方に設定します。

一般的な自動バックアップ設定

incremental_backups
デフォルト:false。スナップショットを最後に取得した後に更新されたデータをバックアップします。これを有効にすると、データベースはローカルにフラッシュまたはストリームされた各SSTableへのハードリンクを、対応するキースペース・データの backupsサブディレクトリーに作成します。これらのリンクの削除は、オペレーターの判断で行います。

関連情報: インクリメンタル・バックアップの有効化

snapshot_before_compaction
デフォルト:false。各コンパクションの前に行うスナップショットの取得を有効または無効にします。スナップショットは、データ形式に変更がある場合のデータのバックアップに役立ちます。データベースは古いスナップショットを自動的にクリーンアップしないため、このオプションの使用には注意してください。

関連情報: コンパクションの構成

一般的な障害検知設定

phi_convict_threshold
デフォルト:8。 障害検知機能の感度を指数スケールで調整します。通常、この設定を調整する必要はありません。

関連情報: 障害検知と復旧について

パフォーマンス調整のプロパティ

コミット・ログ、コンパクション、メモリー、ディスクI/O、CPU、読み取り、書き込みを含むパフォーマンスとシステム・リソースの活用を調整します。

コミット・ログの設定

commitlog_sync
デフォルト:periodic。データベースがミリ秒単位で書き込みを確認応答するために使用する方法。
commitlog_sync_period_in_ms
デフォルト:10000。コミット・ログをディスクに同期させる頻度を制御します。周期的同期は即座に認識されます。
commitlog_sync_batch_window_in_ms
デフォルト:disabled。 データベースが同期を実行する前に、他の書き込みを待つ時間を制御します。この方法が有効な場合、ディスクに書き込みのfsyncが行われるまで、書き込みは確認応答されません。
commitlog_segment_size_in_mb
デフォルト:32。個々のコミット・ログ・ファイル・セグメントのサイズ。コミット・ログ・セグメントは、すべてのデータがSSTableにフラッシュされた後、アーカイブしたり、削除したり、再利用したりできます。このデータには、システム内の各テーブルからのコミット・ログ・セグメントが含まれる可能性があります。ほとんどのコミット・ログ・アーカイブの場合、通常はデフォルトのサイズで十分ですが、しかし細分性を上げたい場合は、8または16 MBが妥当です。

デフォルトでは、max_mutation_size_in_kbは、commitlog_segment_size_in_kbの半分に設定されています。

関連情報: コミット・ログ・アーカイブの構成

max_mutation_size_in_kb
デフォルト:commitlog_segment_size_in_mbの½。

ミューテーションのサイズがこの値を上回る場合、そのミューテーションは拒否されます。コミット・ログ・セグメントのサイズを大きくする前に、そのミューテーションが予想よりも大きくなっている理由を調査してください。コミット・ログ・セグメント・サイズを大きくする修正には制限があるため、アクセス・パターンとデータ・モデルに根本的な問題がないか確認してください。

制約事項: max_mutation_size_in_kbが明示的に設定されている場合、commitlog_segment_size_in_mbをmax_mutation_size_in_kb / 1024のサイズの2倍以上に設定する必要があります。

上記の「commitlog_segment_size_in_mb」を参照してください

commitlog_compression
デフォルト:disabled。コミット・ログを圧縮する場合に使用する圧縮方式。有効な値:LZ4、Snappy、Deflate。このプロパティの値が設定されていない場合、コミット・ログは圧縮されずに書き込まれます。
cdc_total_space_in_mb
デフォルト:4096と、cdc_raw_directoryが存在するドライブの合計容量の1/8の合計。 容量がこの値を超えると、データベースはCDCが有効になっているテーブルを含むミューテーションでWriteTimeoutExceptionをスローします。生のCDCログの解析と、解析後のログの削除は、CDCCompactor(コンシューマー)が行います。
cdc_free_space_check_interval_ms
デフォルト:250。 cdc_rawの上限に達し、CDCCompactorの実行が遅れるか、バック・プレッシャーが発生すると、cdcを追跡するテーブルに新しい空き領域を使用できるようになったかどうかを確認するためにこの間隔でチェックします。
commitlog_total_space_in_mb
デフォルト:32ビットJVMでは32、64ビットJVMでは8192。 コミット・ログに使用される合計容量。すべてのコミット・ログで使用している合計容量がこの値を超えると、データベースは次に最も近い倍数のセグメントへの切り上げを行い、最も古いコミット・ログ・セグメントのmemtableをディスクにフラッシュし、コミット・ログからこれらのログ・セグメントを削除します。これによって起動時にリプレイされるデータ量が削減され、更新頻度の低いテーブルがコミット・ログ・セグメントをいつまでも維持し続けるのを防ぎます。commitlog_total_space_in_mbが小さい場合、あまりアクティブでないテーブルのフラッシュ・アクティビティーが増えることになります。

関連情報: memtableのしきい値の構成

gc_log_threshold_in_ms
デフォルト:200。INFOレベルのログ・メッセージのしきい値。ロギングを最小化するように調整します。

コンパクションの設定

関連情報: コンパクションの構成

concurrent_compactors
デフォルト:ディスクの数とコアの数のいずれか小さい方(CPUコアあたりの最小値は2、最大値は8)。 1つのノードで同時に実行できる同時コンパクション・プロセスの数。アンチエントロピー・リペア用の検証コンパクションは含まれません。同時コンパクションでは、1回の時間のかかるコンパクション中に小さいSSTableが累積する数を制限することにより、読み取りと書き込みが混在するワークロードでの読み取りパフォーマンスを維持しやすくなります。データ・ディレクトリーがSSDでサポートされている場合は、この値をコアの数まで増やしてください。コンパクションの実行が遅すぎる、または速すぎる場合は、まず、compaction_throughput_mb_per_secを調整してください。
注: 同時接続コンパクター数を増やすと、特にSTCSでは同時コンパクションは並列処理されるため、コンパクションに使用可能なディスク領域をさらに使用することになります。この構成値を大きくする前に、十分なディスク領域を使用できることを確認します。
sstable_preemptive_open_interval_in_mb
デフォルト:50。コンパクション・プロセスで、コンパクションの書き込みが完全に終わる前にSSTableが開かれ、以前のSSTAbleに書き込まれた範囲の代わりに使用されます。この設定は、ページ・キャッシュのチャーンを減らし、ホット行をホットに維持することによって、SSTable間の読み取りの転送がスムーズに行われるよう支援します。

memtableの設定

memtable_allocation_type
デフォルト:heap_buffers。データベースがmemtableメモリーの割り当てと管理に使用する方法。
  • heap_buffers

    オンヒープNIO(ノンブロッキングI/O)バッファー。

  • offheap_buffers

    オフヒープ(直接)NIOバッファー。

  • offheap_objects

    ネイティブのメモリー。NIOバッファーのヒープ・オーバーヘッドをなくします。

memtable_cleanup_threshold(廃止予定)
デフォルト:1/(memtable_flush_writers + 1))。 自動memtableフラッシュで使用する割合。データベースではmemtable_heap_space_in_mbmemtable_offheap_space_in_mbに追加し、その合計とmemtable_cleanup_thresholdを乗算してMB単位で容量を算出します。フラッシュされていないすべてのmemtableが使用しているメモリーの合計容量がこの容量を上回ると、データベースは最大のmemtableをディスクにフラッシュします。

たとえば、memtable_heap_space_in_mbmemtable_offheap_space_in_mbの合計が1000、memtable_cleanup_threshold0.50のノードを考えてみます。memtable_cleanupの容量は、500MBです。このノードにはMemtable A(150MB)とMemtable B(350MB)の2つのmemtableがあります。いずれかのmemtableが増えると、使用する合計容量が500MBを越え、データベースはMemtable Bをディスクにフラッシュします。

memtable_cleanup_thresholdの値が大きくなると、フラッシュのサイズも大きくなり、その回数が少なくなって、コンパクション・アクティビティーも減る可能性がありますが、同時フラッシュ・アクティビティーも減るため、書き込み負荷が大きい状態でディスクの飽和状態を維持するのが困難になる可能性があります。

このセクションでは、memtable_flush_writersの回数に基づいて割合を計算する際に使用される数式について説明します。cassandra.yamlのデフォルト値は0.11で、ノードに多数のディスクがある場合や、ノードのmemtable_flush_writers8に設定している場合に適しています。他の例を挙げると、ノードが単一のSSDを使用している場合、memttable_cleanup_thresholdの値は、memtable_flush_writersの最小値2に基づいて、0.33と計算されます。

file_cache_size_in_mb
デフォルト:ヒープの1/4と512の小さい方。SSTableの読み取りバッファーに使用する合計メモリー。
buffer_pool_use_heap_if_exhausted
デフォルト:disabled。 SSTableバッファー・プールを使い果たし(バッファー・プールが最大メモリーのfile_cache_size_in_mbを超えた場合)、これ以降はバッファーをキャッシュせず、要求に応じて割り当てる場合に、オンヒープ・メモリーとオフヒープ・メモリーのどちらを割り当てるかを示します。
memtable_flush_writers
デフォルト:ディスクの数とコアの数のいずれか小さい方(最小値は2、最大値は8)。 memtableフラッシュ書き込みスレッドの数。これらのスレッドはディスクI/Oによってブロックされ、ブロックされている間、それぞれがmemtableをメモリーに保持します。データ・ディレクトリーでSSDを利用できる場合は、この設定をコアの数まで増やしてください。

キャッシュとインデックスの設定

column_index_size_in_kb
デフォルト:64。パーティション内の行インデックスの細分性。巨大な行については、この設定値を小さくするとシーク時間が改善されます。キー・キャッシュを使用する場合は、この設定を大きくし過ぎないように注意してください。キー・キャッシュに負担がかかりすぎます。行のサイズが明確にわからない場合は、デフォルト設定が適しています。
index_summary_capacity_in_mb
デフォルト:ヒープサイズの5%[空]。 SSTableインデックス・サマリーの固定メモリー・プール・サイズ(MB)。すべてのインデックス・サマリーのメモリー使用量がこの制限値を超えると、読み取り速度の低い任意のSSTableがインデックス・サマリーを縮小して、この制限を満たします。これはベスト・エフォート型のプロセスです。極限状況では、データベースがこのメモリー量よりも多くの容量を使用する場合があります。
index_summary_resize_interval_in_minutes
デフォルト:60。インデックス・サマリーのサンプリングを行う間隔。サンプリングは、固定サイズのプールからSSTableに直近の読み取り速度に比例してメモリーを再割り当てするために定期的に行われます。無効にするには、-1に設定します。この設定では、既存のインデックス・サマリーが現在のサンプリング・レベルのままになります。

ディスクの設定

stream_throughput_outbound_megabits_per_sec
デフォルト:200。 ノードのすべての送信ストリーミング・ファイル転送のスループットを抑制します。データベースは、ブートストラップまたはリペア時のデータ・ストリーミングで、ほとんどの場合シーケンシャルI/Oを行いますが、これはネットワーク接続を飽和させ、クライアント(RPC)のパフォーマンスを低下させる場合があります。
inter_dc_stream_throughput_outbound_megabits_per_sec
デフォルト:200。 データ・センター間のすべてのストリーミング・ファイル転送と、stream_throughput_outbound_megabits_per_secで構成されているネットワーク・ストリーム・トラフィックを抑制します。
streaming_keep_alive_period_in_secs
デフォルト:disabled。 この間隔でノードが送信するキープアライブ・メッセージを指定します。2回のキープアライブ・サイクルでキープアライブ・メッセージを受信しない場合、ストリーム・セッションは失敗します。
trickle_fsync
デフォルト:false。trueに設定すると、fsyncはオペレーティング・システムに対しtrickle_fsync_interval_in_kbに設定された間隔でダーティ・バッファーを強制的にフラッシュするように指示します。このパラメーターを有効にすると、突発的なダーティ・バッファーのフラッシュによって読み取りレイテンシーに影響が及ぶのを回避できます。SSDを使用している場合は推奨されますが、HDDの場合には推奨されません。
trickle_fsync_interval_in_kb
デフォルト:10240。fsyncのサイズ(キロバイト)。

高度なプロパティ

上級ユーザー用のプロパティまたは使用頻度の低いプロパティ。

高度な初期化プロパティ

auto_bootstrap
デフォルト:true。この設定はデフォルトの構成からは削除されました。この設定により、シードでない新しいノードが適切なデータを自動的に自身に移行します。データのないフレッシュなクラスターを初期化する場合は、auto_bootstrap: falseを追加します。

関連情報: ワークロードの種類別に単一データ・センターを初期化する および「ワークロードの種類別に複数のデータ・センターを初期化する」。

batch_size_warn_threshold_in_kb
デフォルト:64。マルチ・パーティション・バッチ・サイズがこの値を上回ると、警告メッセージがログに記録されます。
注意: このしきい値を上げると、ノードが不安定になる可能性があります。
batch_size_fail_threshold_in_kb
デフォルト:640。バッチのサイズがこの設定値を超えると、バッチは失敗します。デフォルト値はbatch_size_warn_threshold_in_kbの10倍の値です。
unlogged_batch_across_partitions_warn_threshold
デフォルト:10。LOGGEDタイプでないバッチがこの制限値よりも多くのパーティションにまたがっている場合、WARNメッセージがログに記録されます。パーティション数のデフォルト値は10です。
cdc_enabled
デフォルト:false。ノードごとにChange Data Capture(CDC)機能を有効または無効にします。この設定により、書き込みパスの割り当て拒否で使用されるロジックが変更されます(標準:拒否しない、cdc:cdc_raw_directoryで容量が制限されている場合にCDCが有効になっているテーブルを含むミューテーションを拒否する)。
重要: バージョンが混在しているクラスターではCDCを有効にしないでください。すべてのノードをDataStax Enterprise 5.1にアップグレードしてからクラスターを有効にして再起動してください。
broadcast_address
デフォルト:listen_address。このノードがマルチ・リージョンEC2デプロイのネットワーク外の他のノード、またはリージョン全体の他のノードにブロードキャストするために使用するパブリックIPアドレス。このプロパティをコメントアウトした場合、ノードはlisten_addressと同じIPアドレスまたはホスト名を使用します。ノードは、単一ノードまたは単一データ・センター・インストール、あるいはプライベート通信とパブリック通信の自動切り替えをサポートしているEC2ベースのネットワークでは、個別のbroadcast_addressを必要としません。複数の物理ネットワーク・インターフェイスを持つノードや、すべてのノードがそれぞれのプライベートIPアドレスを使用して他のノードにアクセスできるとは限らないその他のトポロジーのノードには、個別にlisten_addressとbroadcast_addressを設定する必要があります。特殊な構成については、listen_addressの説明を参照してください。
listen_on_broadcast_address
デフォルト:false。このノードが複数の物理ネットワーク・インターフェイスを使用している場合、broadcast_addressに一意のIPアドレスを設定し、listen_on_broadcast_addressをtrueに設定します。これにより、ノードが両方のインターフェイスで通信できるようになります。

Amazon EC2のように、パブリック・ネットワークとプライベート・ネットワーク間で自動的にルーティングするネットワーク上にノードがある場合は、このプロパティをfalseに設定します。

構成の詳細については、listen_addressの説明を参照してください。

initial_token
デフォルト:1(無効)。個々のノードがリング空間で厳密に1つの連続する範囲を所有する、トークンごとに1つのノードが提供されるアーキテクチャーの場合はこのプロパティを設定します。このプロパティの設定はnum_tokensに優先します。
お使いのインストールでvnodeを使用していない場合、またはこのノードのnum_tokensを1に設定しているか、コメントアウトしている場合、実稼働クラスターを初めてセットアップするときと、容量を追加するときは、initial_token値を設定する必要があります。「トークンの生成」を参照してください。
このパラメーターは、スナップショットからの復元などの特殊なケースに限り、num_tokens(vnode)とともに使用します。
num_tokens
(デフォルト:1、無効)仮想ノード・トークン・アーキテクチャーの場合、このプロパティを設定します。この仮想ノード(vnode)に割り当てるトークン範囲数を決定します。1~128の数字を使用し、1を指定するとvnodeが無効になります。トークン番号がデータ・センター内のノード間で変わる場合、vnodeロジックはデータ・センター内の他のノードに比例して範囲の数を割り当てます。一般的に、すべてのノードが同じ能力のハードウェアを持っている場合、各ノードは同じnum_tokens値になります。
  • ランダム選択アルゴリズム
    注: DataStaxは、ランダム選択アルゴリズム法を推奨しません。代わりに、割り当てアルゴリズムを使用してください。
    トークン範囲をランダムに割り当てます。num_token値が大きいと、データとワークロードが均一に分散される確率が増加します。以下の表では、トークン範囲をランダムに割り当てる際の推奨設定を説明します。
    データ・センターのタイプ vnode(トークン)の数
    トランザクションのみ 128
    DSE Analyticsのみ 128

    SearchAnalyticsワークロードでは、DSE Searchで推奨される8個のvnodeを使用します。

    DSE Searchのみ 8

    allocate_tokens_for_local_replication_factorをデータ・センターのキースペースのレプリケーション係数に設定します。

    DSE Graph 128
    DSE Graph(DSE Searchと併用する場合) 8
  • 割り当てアルゴリズム:目標とするキースペース・レプリケーション係数を使用して、ワークロード・バランスを最適化する割り当てアルゴリズムを使用して、トークン範囲を割り当てます。allocate_tokens_for_local_replication_factorを設定すると有効になります。DataStaxでは、トークン数を8に設定してワークロードをノード間に約10%の差異で分散させることを推奨しています。
トークン範囲ごとに単一のノードがある状況からvnodeに既存のクラスターを移行するには、「既存の実稼働クラスターでの仮想ノードの有効化」を参照してください。
注: データ・センター内の他のノードはすべて、単一トークン・アーキテクチャー、ランダム・アルゴリズムのvnodeアーキテクチャー、または割り当てアルゴリズムのvnodeアーキテクチャーのうち、いずれかの同じトークン・アーキテクチャーを使用する必要があります。
allocate_tokens_for_local_replication_factor

vnodeを既存のクラスターに追加する場合や、新しいデータ・センターでノードを設定する場合、データ・センター内のキースペースの目標とするレプリケーション係数(RF)に設定します。RFの推奨されるアルゴリズムによる割り当てと、このノードのnum_tokensをトリガーします。割り当てアルゴリズムは、指定されているRFに対して、データ・センター内のノードにレプリケートされる負荷を最適化するようにトークンを選択しようとします。各ノードに割り当てられる負荷は、vnodeの数の比率に近くなります。

仮想ノード(vnode)の構成」を参照し、設定手順については、「既存のクラスターへのvnodeの追加」または「クラスターへのデータ・センターの追加」を参照してください。

注: 割り当てアルゴリズムは、Murmur3PartitionerパーティショナーとRandomPartitionerパーティショナーでのみサポートされています。Murmur3Partitionerは、新しいDSEクラスター用のデフォルトのパーティション分割ストラテジであり、新しいクラスターではほとんどの場合に適しています。
パーティショナー
デフォルト:org.apache.cassandra.dht.Murmur3Partitioner。クラスター内のすべてのノードに行を(パーティション・キー別に)配布するクラスを設定します。クラス・パス内にあるものであれば、独自のものも含めて、任意のIPartitionerを使用できます。新しいクラスターについては、デフォルトのパーティショナーを使用してください。
後方互換性を維持するため、DataStax Enterpriseには以下のパーティショナーが用意されています。
  • RandomPartitioner
  • ByteOrderedPartitioner(廃止予定)
  • OrderPreservingPartitioner(廃止予定)

関連情報: パーティショナー

storage_port
デフォルト:7000。ノード間通信用のポート。
tracetype_query_ttl
デフォルト:86400。クエリー・プロセスのログ記録中に使用されるさまざまなトレース・タイプのTTL。
tracetype_repair_ttl
デフォルト:604800。リペア・プロセスのログ記録中に使用されるさまざまなトレース・タイプのTTL。

高度な自動バックアップの設定

auto_snapshot
デフォルト:true。キースペースのTRUNCATEを行う前やテーブルを削除する前に、データのスナップショットを取得するかどうかを指定します。データ喪失を回避するために、DataStaxではデフォルトの設定を使用することを強く推奨します。auto_snapshotをfalseに設定すると、TRUNCATEまたは削除の際にデータが失われます。

キー・キャッシュと行のグローバル・プロパティ

テーブルの作成時または変更時に、キャッシング・パラメーターの設定により、そのテーブルのキー・キャッシュ(パーティション・キー・キャッシュ)または行キャッシュを有効または無効にすることができます。その他の行とキー・キャッシュの調整と構成のオプションは、グローバル(ノード)レベルで設定されます。データベースはこれらの設定を使用し、全体のワークロードと特定のテーブル使用量に基づいて、ノードの各テーブルに対して自動的にメモリーを分配します。これらのキャッシュを保存する期間もグローバルに構成できます。

関連情報:キャッシュの構成

key_cache_keys_to_save
デフォルト:disabled。すべてのキーが保存されます。 キー・キャッシュから保存するキーの数。
key_cache_save_period
デフォルト:14400。(4時間)キャッシュにキーを保存する期間(秒)。キャッシュはsaved_caches_directoryに保存されます。キャッシュを保存するとコールド・スタート速度が大幅に改善され、I/Oに与える影響も比較的小さくなります。
key_cache_size_in_mb
デフォルト:空。メモリー内のキー・キャッシュの最大サイズのグローバル・キャッシュ設定(すべてのテーブル)。値を設定しない場合、キャッシュは使用可能なヒープの5%と100MBのいずれか小さい方に設定されます。無効にするには、0に設定します。

関連情報: 「nodetool setcachecapacity」、「キャッシングの有効化と構成」。

column_index_cache_size_in_kb
デフォルト:2。データベースがパーティション・キー・キャッシュ内に格納するパーティションのすべてのインデックス・エントリーの合計サイズのしきい値。パーティションのすべてのインデックス・エントリーの合計サイズがこの容量を上回ると、このパーティションのエントリーはパーティション・キー・キャッシュに配置されなくなります。この制限により、大きなパーティションのインデックス・エントリーがパーティション・キー・キャッシュ(key_cache_size_in_mbで制御されます)内のすべての容量を消費するのを防ぎます。
row_cache_class_name
デフォルト:disabled。 使用する行キャッシュ・プロバイダーのクラス名。有効な値:OHCProvider(完全オフヒープ)またはSerializingCacheProvider(一部オフヒープ)。
row_cache_keys_to_save
デフォルト:disabled。すべてのキーが保存されます。 行キャッシュから保存するキーの数。
row_cache_size_in_mb
デフォルト:0。無効にするには、0に設定します。メモリー内の行キャッシュの最大サイズ。行キャッシュを使用するとkey_cache_size_in_mbよりも時間を節約できますが、行全体が含まれるため多くの容量を使用します。行キャッシュは、ホット行か、または静的行のみで使用してください。サイズを減らすと、起動時に最もホットなキーが読み込まれないことがあります。
row_cache_save_period
デフォルト:0。無効にするには、0に設定します。行をキャッシュに保存する期間(秒)。キャッシュはsaved_caches_directoryに保存されます。この設定は、row_cache_size_in_mbで説明したとおり、用法が限られています。

カウンター・キャッシュのプロパティ

カウンター・キャッシュは、ホットなカウンター・セルのカウンター・ロックの競合を軽減させるのに役立ちます。RF = 1の場合、カウンター・キャッシュのヒットがあると、データベースは全体を書き込む前に読み取りをスキップします。RF > 1の場合も、カウンター・キャッシュのヒットがあるとロック保持期間が短縮されるため、ホットなカウンター・セルの更新に役立ちますが、読み取り全体をスキップすることはできません。ローカルな(クロック、カウント)カウンター・セルのタプルのみがメモリー内に保持され、カウンター全体は保持されないため、比較的負担が少なくて済みます。

注: カウンター・キャッシュのサイズを減らすと、起動時に最もホットなキーが読み込まれます。
counter_cache_size_in_mb
デフォルト値:空。 値を設定しない場合、ヒープの最小値2.5%と50メガバイト(MB)の小さい方が使用されます。お使いのシステムでカウンター削除を実施し、小さいgc_grace_secondsを使用する場合は、カウンター・キャッシュを無効にしてください。無効にするには、0に設定します。
counter_cache_save_period
デフォルト:7200。(2時間)データベースがカウンター・キャッシュを保存するまでの期間(キーのみ)。データベースはキャッシュをsaved_caches_directoryに保存します。
counter_cache_keys_to_save
デフォルト値:disabled。 カウンター・キャッシュから保存するキーの数。このプロパティが無効になっている場合、すべてのキーが保存されます。

トゥームストーンの設定

パーティションの内部または各パーティションにわたってスキャンを実行するとき、トゥームストーンをコーディネーターに返せるように、トゥームストーンがメモリー内に維持されている必要があります。コーディネーターがトゥームストーンを使用することで、削除済みの行について他のレプリカが確実に認識できるようになります。大量のトゥームストーンを生成するワークロードは、パフォーマンス問題の原因となり、サーバーのヒープを使い果たしてしまうことがあります。「Cassandraのアンチパターン:キューと、キューに似たデータセット」を参照してください。この影響を理解した上でスキャンするトゥームストーンの数を増やす場合にのみ、これらのしきい値を調整してください。StorageServiceMBeanを使用して、実行中にもこれらのしきい値を調整できます。

関連情報:Cassandraのアンチパターン:キューと、キューに似たデータセット

tombstone_warn_threshold
デフォルト:1000。クエリーがこの数字より多くのトゥームストーンをスキャンした場合に警告が生成されます。
tombstone_failure_threshold
デフォルト:100000。クエリーがこの数字より多くのトゥームストーンをスキャンした場合、クエリーが中断されます。

ネットワーク・タイムアウトの設定

aggregated_request_timeout_in_ms
コーディネーターが集計された読み取り操作の完了を待つ時間(ミリ秒)。たとえば、SELECT COUNT(*), MIN(x)です。デフォルト:120000。
cas_contention_timeout_in_ms
デフォルト:1000。コーディネーターが、共通の行に対する他の操作と競合するCAS(compare-and-set)操作をリトライし続ける時間(ミリ秒)。この時間内にコーディネーターが操作を完了できない場合、操作は中断されます。
counter_write_request_timeout_in_ms
デフォルト:5000。タイムアウトする前に、コーディネーターがカウンターの書き込み操作の完了を待つ時間(ミリ秒)。
range_request_timeout_in_ms
デフォルト:10000。タイムアウトする前に、コーディネーターがシーケンシャル・スキャンまたはインデックス・スキャンの完了を待つ時間(ミリ秒)。
read_request_timeout_in_ms
デフォルト:5000。タイムアウトする前に、コーディネーターが読み取り操作の完了を待つ時間(ミリ秒)。
request_timeout_in_ms
デフォルト:10000。その他のさまざまな操作のデフォルトのタイムアウト値。

関連情報:ヒンテッド・ハンドオフ:書き込みパス中のリペア

slow_query_log_timeout_in_ms
デフォルト:500。ノードがスロー・クエリーのログへの記録を開始するまでの時間。クエリーがこの値を上回ると、スロー・クエリーを示す集計されたログ・メッセージが生成されます。無効にするには、0に設定します。
truncate_request_timeout_in_ms
デフォルト:60000。タイムアウトする前に、コーディネーターがTRUNCATE(テーブルから全データを削除)操作の完了を待つ時間(ミリ秒)。デフォルト値を大きくすると、データを削除する前にスナップショットを取得することができます。auto_snapshotが無効の場合(非推奨)、この時間を短縮できます。
write_request_timeout_in_ms
デフォルト:2000。タイムアウトする前に、コーディネーターが書き込み操作の完了を待つ時間(ミリ秒)。

関連情報:ヒンテッド・ハンドオフ:書き込みパス中のリペア

ノード間の設定

cross_node_timeout
デフォルト:false。(要求のタイムアウトを正確に測定するための)ノード間での操作タイムアウト情報の交換を有効または無効にします。このプロパティが無効になっている場合、レプリカはコーディネーターによって要求がレプリカに即座に転送されたと見なします。このため、過負荷の状況では、すでにタイムアウトしている要求を処理する余分な時間が必要になります。
注意: このプロパティを有効にする前に、NTP(Network Time Protocol)がインストールされ、ノード間で時刻が同期していることを確認してください。
internode_send_buff_size_in_bytes
デフォルト:空。 ノード間呼び出し用の送信ソケット・バッファー・サイズ(バイト)。
このパラメーターとinternode_recv_buff_size_in_bytesで設定されたバッファー・サイズは、net.core.wmem_maxの制限を受けます。このプロパティが設定されていない場合、net.ipv4.tcp_wmemによってバッファー・サイズが決定されます。詳細については、man tcpを実行し、以下を参照ください。
  • /proc/sys/net/core/wmem_max
  • /proc/sys/net/core/rmem_max
  • /proc/sys/net/ipv4/tcp_wmem
  • /proc/sys/net/ipv4/tcp_wmem

関連情報: TCP設定

internode_recv_buff_size_in_bytes
デフォルト:空。 ノード間呼び出し用の受信ソケット・バッファー・サイズ(バイト)。
internode_compression
デフォルト:dc。ノード間のトラフィックを圧縮するかどうかを制御します。有効な値:
  • all

    すべてのトラフィックを圧縮します。

  • dc

    データ・センター間のトラフィックのみ圧縮します。

  • none

    圧縮しません。

inter_dc_tcp_nodelay
デフォルト:false。データ・センター間の通信用に、このプロパティを有効にするか、tcp_nodelayを無効にします。このプロパティが無効になっている場合、ネットワークはサイズが大きいネットワーク・パケットを少数、送信します。これはTCPプロトコルのオーバーヘッドを低減します。ただし、inter_dc_tcp_nodelayを無効にすると、データ・センターを横断する応答がブロックされ、レイテンシーが増加する場合があります。

ネイティブ転送(CQLバイナリー・プロトコル)

start_native_transport
デフォルトはtrueです。ネイティブ・トランスポート・サーバーを有効または無効にします。このサーバーは、rpc_addressと同じアドレスを使用しますが、使用するポートはrpc_portとは異なります。native_transport_portを参照してください。
native_transport_port
デフォルト:9042。CQLネイティブ・トランスポートがクライアントをリッスンするポート。
native_transport_max_threads
デフォルト:128。要求を処理するスレッドの最大数。rpc_max_threadsと似ていますが、このプロパティは次の点が異なります。
  • native_transport_max_threadsのデフォルトは128ですが、rpc_max_threadsのデフォルトはunlimitedです。
  • 対応するnative_transport_min_threadsがありません。
  • ネイティブ・トランスポート・スレッドがアイドル状態になると、30秒後に停止します。
native_transport_max_frame_size_in_mb
デフォルト:256。許可されるフレーム・サイズの最大値。これよりも大きいフレーム(要求)は無効として拒否されます。
native_transport_max_concurrent_connections
デフォルト:-1。同時クライアント接続の最大数。デフォルト値の-1は、無制限を意味します。
native_transport_max_concurrent_connections_per_ip
デフォルト:-1。ソースIPアドレスごとの同時クライアント接続の最大数。デフォルト値の-1は、無制限を意味します。

RPC(リモート・プロシージャ・コール)の設定

クライアント接続の構成と調整のための設定です。

broadcast_rpc_address
デフォルト:空。 ドライバーやその他のノードにブロードキャストするRPCアドレス。0.0.0.0に設定することはできません。空白にすると、rpc_addressまたはrpc_interfaceが使用されます。rpc_addressまたはrpc_interfaceが0.0.0.0に設定されている場合、このプロパティを設定する必要があります。
rpc_port
デフォルト:9160。クライアント接続用のThriftポート。
start_rpc
デフォルト:true。Thrift RPCサーバーを有効または無効にします。
rpc_keepalive
デフォルト:true。クライアント接続に対するキープアライブを有効または無効にします(RPCまたはネイティブ)。
rpc_max_threads
デフォルト:unlimited。 選択したRPCサーバー(rpc_server_type)にかかわらず、rpc_max_threadsにより、RPCスレッド・プール内の最大同時要求数が決定します。パラメーターsyncを使用している場合(「rpc_server_type」を参照)、接続可能なクライアントの数もこのプロパティで決定します。クライアント接続数が多いと、スレッド・スタックにメモリーを過剰に使用する原因になります。クライアント側で接続をプールすることを強く推奨します。rpc_max_threadsを設定しておくと、挙動が不適切なクライアントに対する安全対策になります。スレッド数が最大数に達すると、クライアントが接続解除するまで追加の接続はブロックされます。
rpc_min_threads
デフォルト:unlimited。 リモート・プロシージャー・コールに対する最小スレッド・プール・サイズ。
rpc_recv_buff_size_in_bytes
デフォルト:空。 リモート・プロシージャー・コールに対する受信ソケット・バッファー・サイズ。
rpc_send_buff_size_in_bytes
デフォルト:空。 リモート・プロシージャー・コールに対する送信ソケット・バッファー・サイズ(バイト)。
rpc_server_type
デフォルト:sync。RPCサーバー向けに3つの選択肢があります。synchshaのパフォーマンスはほぼ同じですが、メモリー使用量はhshaの方が小さくなります。
  • sync:(デフォルト:Thrift接続あたり1つのスレッド。)

    クライアント数が非常に大きい場合、メモリーが制限要因になります。64ビット JVMの場合、スレッドあたりの最小スタック・サイズは180KBで、仮想メモリーの使用量に対応しています。物理メモリーは、スタック・スペースの使用量によっては制限される場合があります。

  • hsha
    半分同期、半分非同期(half synchronous, half asynchronous)です。すべてのThriftクライアントは、クライアント数によって変化しない少数のスレッドを使用して非同期で処理されます。このメカニズムは、多くのクライアントに対応してスケールします。RPC要求は同期的です(アクティブな要求あたり1つのスレッド)。
    注: このオプションを選択した場合、rpc_max_threadsのデフォルト値(unlimited)を変更する必要があります。
  • 独自のRPCサーバー

    サーバー・インスタンスを作成できる、o.a.c.t.TServerFactoryの完全修飾されたクラス名を指定する必要があります。

高度な障害検知の設定

パフォーマンスが低下しているコンポーネントや故障しているコンポーネントに対処するための設定です。

gc_warn_threshold_in_ms
デフォルト:1000。GCがこの間隔よりも長く一時停止すると、WARNレベルでログに記録されます。(デフォルトでは、GCが200 msよりも長く一時停止するとINFOレベルでログに記録されます。)

追加情報:ロギングの構成

otc_coalescing_strategy
デフォルト:DISABLED。サポートされているストラテジは、FIXED、MOVINGAVERAGE、TIMEHORIZON、DISABLEDです。VMに適していますが、他の環境ではパフォーマンスはそれほど高くありません。OutboundTcpConnection(otc)ストラテジには以下の特長があります。
  • メッセージ・スループットを高める(2倍以上)。
  • ソケットから読み取る際に1回の往復で複数のメッセージを処理する。
  • すべてのタスク送信作業を同時に実行する。
  • コンテキストの切り換えを減らす。
  • ネットワーク・メッセージ処理のキャッシュの適合性を高める。
otc_coalescing_window_us
デフォルト:disabled。 結合を待機する時間(マイクロ秒)。固定ストラテジでは、最初のメッセージを受信してから結合されるメッセージと共に送信されるまでの時間です。移動平均では、結合されるメッセージが平均して着信していなければならない最大待機時間と期間です。
otc_coalescing_enough_coalesced_messages
デフォルト:disabled。 メッセージ数のしきい値。この値を上回る場合、メッセージを結合しないでください。この値は2より大きく、128未満である必要があります。
back_pressure_enabled
デフォルト:false。コーディネーターが、レプリカに送信される各ミューテーションに、指定されたバック・プレッシャー・ストラテジを適用します。
back_pressure_strategy
back_pressure_strategy:
    - class_name: org.apache.cassandra.net.RateBasedBackPressure
      parameters:
        - high_ratio: 0.90
          factor: 5
          flow: FAST

デフォルト:RateBasedBackPressure。新しいストラテジを追加するには、org.apache.cassandra.net.BackpressureStrategyを実装し、Map<String, Object>を受け入れるパブリック・コンストラクターを指定します。

  • RateBasedBackPressure

    受信したミューテーション応答と送信したミューテーション要求の比率。

  • high_ratio

    送信したミューテーションがこの値を下回ると、受信速度に応じて速度制限され、速度制限は係数に従い減少します(以下で説明します)。この値を上回ると、速度制限は係数に従い増加します。

  • factor

    1~10の数字。速度制限を増減します。

  • flow
    デフォルト:FAST。速度制限を適用するフロー速度。
    • FAST - 最も高速のレプリカ速度に速度制限されます。
    • SLOW - 最も低速のレプリカ速度に速度制限されます。
max_value_size_in_mb
デフォルト:256。 SSTableの値の最大サイズ。しきい値を上回ると、SSTable破損を検知して、SSTableに破損のマークを付けます。
dynamic_snitch_badness_threshold
デフォルト:0.1。低パフォーマンスのノードからクライアント要求を別のノードに動的にルーティングするためのパフォーマンスしきい値。具体的には、低パフォーマンスのノードの状態がどの程度悪化すると動的スニッチが他のレプリカを優先するかを制御します。値を0.2にすると、そのノードの応答時間が最高パフォーマンスのノードよりも20%低下するまで、データベースが静的スニッチ値を継続して使用します。このしきい値に達するまで、受信した要求は最も近いレプリカ(スニッチで決定される)に静的にルーティングされます。read_repair_chanceテーブル・プロパティの値が0~1.0の場合、キャッシュ容量はノード全体で最大化されます。
dynamic_snitch_reset_interval_in_ms
デフォルト:600000。すべてのノード・スコアをリセットする時間間隔。これにより、不良ノードを復元できます。
dynamic_snitch_update_interval_in_ms
デフォルト:100。データベースがノード・スコアを計算する間隔(ミリ秒)。スコアの計算はCPUに負担がかかるので、この間隔を減らす際には注意してください。
hints_flush_period_in_ms
デフォルト:10000。内部バッファーからディスクにヒントをフラッシュするまで、データベースが待機する時間(ミリ秒)。
hints_directory
デフォルト:$CASSANDRA_HOME/data/hints。ヒントを格納するディレクトリー。
hinted_handoff_enabled
デフォルト:true。ヒンテッド・ハンドオフを有効または無効にします。データ・センターごとに有効にするには、データ・センターのリストを追加します。例を次に示します。hinted_handoff_enabled: DC1,DC2などです。ヒントは、利用不能だったノードを対象に書き込みをリプレイする必要があることを示します。コーディネーター・ノードのヒント・ファイルにヒントが書き込まれます。

関連情報: ヒンテッド・ハンドオフ:書き込みパス中のリペア

hinted_handoff_disabled_datacenters
デフォルト:空。ヒンテッド・ハンドオフを実行しないデータ・センターのブラックリスト。特定のデータ・センターでヒンテッド・ハンドオフを無効にするには、その名前をリストに追加します。例を次に示します。hinted_handoff_disabled_datacenters: - DC1 - DC2などです。

関連情報: ヒンテッド・ハンドオフ:書き込みパス中のリペア

hinted_handoff_throttle_in_kb
デフォルト:1024。配信スレッドあたりの最大トラフィック量(キロバイト/秒)。この速度は、クラスター内のノードの数に比例して低下します。たとえば、クラスター内に2つのノードがある場合、各配信スレッドで最大速度が使用されます。3つある場合は、2つのノードが同時にヒントを配信することが予想されるため、各ノードは最大値の半分に抑制します。
注: この制限を適用すると、internode_compressionまたはhints_compressionが有効になっている場合でも、圧縮されていないヒント・サイズに基づいてヒント送信率が計算されます。
max_hint_window_in_ms
デフォルト:10800000。(3時間)応答しないノードに対してヒントが生成される最大時間。この時間の経過後は、そのノードが復帰して応答するまで、新しいヒントは生成されません。復帰後にノードが再度ダウンすると、新しい間隔が開始されます。この設定により、ノードがオンラインに復帰したときに、突然リソースを要求し、クラスター内の残りのノードが大量のヒンテッド書き込みをリプレイしようとするのを防止できます。

関連情報: 障害検知と復旧について

max_hints_delivery_threads
デフォルト:2。ヒントの配信に使用するスレッド数。マルチ・データ・センター・デプロイの場合、データ・センター間の受け渡しは一般的に低速のため、この数を増やすことを検討してください。
max_hints_file_size_in_mb
デフォルト:128。1つのヒント・ファイルの最大サイズ(メガバイト)。
hints_compression
デフォルト:LZ4Compressor。ヒント・ファイルの圧縮形式。サポートされている圧縮形式は、LZSnappyDeflateです。圧縮形式を指定しない場合、ヒント・ファイルは圧縮されません。
batchlog_replay_throttle_in_kb
デフォルト:1024。ヒントのリプレイ用の合計最大スロットル(KB/秒)。スロットリングは、クラスター内のノード数に比例して低くなります。

要求スケジューラーのプロパティ

受信するクライアント要求の、定義されたポリシーに基づく処理を設定します。ノードの負荷が過大で要求を取りこぼしている場合には、DataStaxでは、これらのプロパティを使用して要求の優先順位付けをするのではなく、ノードを追加することを推奨します。

注: このセクションのプロパティは、Thriftトランスポートのみに適用されます。これらのプロパティは、ネイティブ・プロトコル全体のCQLの使用には影響を及ぼしません。
request_scheduler
デフォルト:org.apache.cassandra.scheduler.NoScheduler。受信したクライアント要求を、定義されているポリシーに基づいて処理するスケジューラー。このスケジューラーは、複数のキースペースを含む単一ノード・クラスターで、クライアント要求をスロットルするのに役立ちます。このパラメーターは厳密にクライアントからの要求に対するもので、ノード間通信には影響しません。有効な値:
  • org.apache.cassandra.scheduler.NoScheduler

    スケジュールは行われません。

  • org.apache.cassandra.scheduler.RoundRobinScheduler

    request_scheduler_idプロパティごとに個別のキューを持つノードに対するクライアント要求のラウンド・ロビンが使用されます。

  • RequestSchedulerインターフェイスを実装するJavaクラスが使用されます。
request_scheduler_id
デフォルト:keyspace。 スケジューラーのアクティビティのスコープ。有効な値は、現時点ではkeyspaceのみです。
request_scheduler_options
デフォルト:NoScheduler。request_schedulerの構成オプションを定義するプロパティのリスト。
RoundRobin:

request_scheduler_idごとに個別のキューを持つノードに対するクライアント要求のラウンド・ロビン。

  • throttle_limit - クライアントあたりの転送中の要求の数。この上限を超える要求は、実行中の要求が完了するまで、キューに入れられます。推奨値は((concurrent_reads + concurrent_writes)× 2)です。
  • default_weight - デフォルト:1。 ラウンド・ロビンの1サイクル中にスケジューラーが処理する要求の数。
  • weights - 重み付けが割り当てられているキースペースのリスト。

Thriftインターフェイスのプロパティ

古いクライアント向けの旧式のAPIです。データベースに対するAPIとしては、CQLの方がシンプルで優れています。

thrift_framed_transport_size_in_mb
デフォルト:15。Thrift用のフレーム・サイズ(最大フィールド長)。フレームはアプリケーションが挿入する行の全体または行の一部です。

セキュリティのプロパティ

DSE Advanced Security(DSE拡張セキュリティ)は、意図的な攻撃やユーザー・エラーによる潜在的な危険に対してDataStax Enterprise(DSE)データベースを強化します。構成プロパティには、認証と権限管理、パーミッション、ロール、転送中のデータと保存されたデータの暗号化、データ監査が含まれます。DSE Unified Authentication(DSE統合認証)には、認証、権限管理、ロール管理の各機能が用意されています。DSE Unified Authentication(DSE統合認証)を有効にするには、dse.yamlで追加の構成が必要です。「DSE Unified Authentication(DSE統合認証)の構成」を参照してください。

authenticator
デフォルト:com.datastax.bdp.cassandra.auth.DseAuthenticator。認証のバックエンド。サポートされているオーセンティケーターは、Kerberos、LDAP、内部認証など、複数の認証スキームを持つ外部認証用のDseAuthenticatorのみです。DseAuthenticator以外のオーセンティケーターは、廃止予定であり、サポートされていません。他のオーセンティケーターを使用する場合、一部のセキュリティ機能が正常に動作しない場合があります。
internode_authenticator
デフォルト:enabled。 ノード間の認証バックエンド。org.apache.cassandra.auth.AllowAllInternodeAuthenticatorを実装して、ピア・ノードからの接続を許可または禁止します。
authorizer
デフォルト:com.datastax.bdp.cassandra.auth.DseAuthorizer。権限管理のバックエンド。DseAuthorizer以外のオーソライザーはサポートされていません。DseAuthorizerは、DSE固有のリソースに関する、強化されたパーミッション管理機能をサポートしています。DseAuthorizer以外のオーソライザーは廃止予定であり、サポートされていません。他のオーソライザーを使用している場合、一部のセキュリティ機能が正常に動作しない場合があります。
role_manager
デフォルト:com.datastax.bdp.cassandra.auth.DseRoleManager。DSE Role Manager(DSEロール・マネージャー)は、CassandraRoleManagerによってサポートされているLDAPロールと内部ロールをサポートしています。ロール・オプションは、dse_security keyspaceに格納されます。DSE Role Manager(DSEロール・マネージャー)を使用する場合は、dse_securityキースペースのレプリケーション係数を大きくしてください。DseAuthorizer以外のロール・マネージャーは廃止予定であり、サポートされていません。他のロール・マネージャーを使用している場合、一部のセキュリティ機能が正常に動作しない場合があります。
roles_validity_in_ms
デフォルト:2000。ロール・キャッシュの有効期間。無効にするには、0に設定します。ユーザーに割り当てられているロールのリストをキャッシュする時間を指定します。ユーザーは、直接割り当てられたり、継承(別のロールに付与されたロール)したりすることで、複数のロールを持つ場合があります。ロール階層の複雑さ、ロール変更に対する許容範囲、環境内のノード数、クラスターのアクティビティー・レベルなどに基づいて、この設定を調整します。
パーミッションのフェッチは高負荷操作になる場合があり、この設定を使うことで柔軟性が得られます。認証セッションで付与されたロールは、AuthenticatedUserにキャッシュされます。指定された時間を過ぎると、ロールの有効性が再度チェックされます。DseAuthenticatorの使用時に内部認証が有効でない場合、自動的に無効になります。
roles_update_interval_in_ms
デフォルト:2000。ロール・キャッシュの更新間隔を有効にします。デフォルトはroles_validity_in_msと同じ値になります。この間隔を過ぎると、キャッシュ・エントリーを更新できるようになります。次回アクセス時に、非同期の再読み込みがスケジュールされ、再読み込みが完了するまで古い値が返されます。roles_validity_in_msがゼロではない場合、こちらもゼロ以外の値でなければなりません。
credentials_validity_in_ms
デフォルト:2000。キャッシュ内の認証情報が有効と見なされる期間(ミリ秒)。このキャッシュは、提供されているIAuthenticatorのPasswordAuthenticator実装と厳密に対応しています。別のIAuthenticator実装が構成されている場合、このキャッシュは使用されず、これらの設定は影響しません。
0に設定すると、この設定は無効になります。
注: 認証情報は暗号化されてキャッシュされます。これによって生じるパフォーマンス・ペナルティーによって、キャッシングがもたらすレイテンシーの低減が相殺される場合があります。
credentials_update_interval_in_ms
デフォルト:credentials_validity_in_msと同じ値。この間隔を過ぎると、キャッシュ・エントリーを更新できるようになります。キャッシュへの次のアクセス時に、キャッシュの非同期再読み込みがスケジュールされます。このキャッシュの再読み込みが完了するまで、キャッシュは古い値を返します。

credentials_validity_in_msがゼロ以外の場合、このプロパティもゼロ以外でなければなりません。

permissions_validity_in_ms
デフォルト:2000。パーミッションのフェッチはリソースを多く消費する場合があります。パーミッシヨン・クエリーがパフォーマンスに及ぼす影響を管理するために、キャッシュ内のパーミッションが有効と見なされる期間(ミリ秒)を定義します。セキュリティの許容範囲に合わせてキャッシュの有効期間を設定します。このキャッシュは、標準認証と行レベル・アクセス制御(RLAC)キャッシュに使用されます。キャッシュが完全に有効なのは短い期間です。
0に設定すると、この設定は無効になります。
permissions_update_interval_in_ms
デフォルト:permissions_validity_in_msと同じ値。標準認証キャッシュと行レベル・アクセス制御(RLAC)キャッシュの更新間隔を設定します。この間隔を過ぎると、キャッシュ・エントリーを更新できるようになります。次回アクセス時に、非同期の再読み込みがスケジュールされ、再読み込みが完了するまで古い値が返されます。permissions_validity_in_ms がゼロ以外の場合、roles_update_interval_in_msもゼロ以外でなければなりません。
permissions_cache_max_entries
デフォルト:1000。標準認証キャッシュと行レベル・アクセス制御(RLAC)キャッシュで保持されるエントリーの最大数。デフォルト値1000の場合、RLACパーミッション・キャッシュは最大で1000のエントリーを保持でき、標準認証キャッシュも最大で1000のエントリーを保持できます。このオプションは両方のキャッシュに適用されます。行レベルのパーミッションの設定も行う場合にパーミッション・キャッシュのサイズを指定するには、以下の式を使用します。
numRlacUsers * numRlacTables + 100
このオプションがcassandra.yamlに含まれていない場合は手動で入力します。「DSE Unified Authentication(DSE統合認証)の有効化」を参照してください。
server_encryption_options
ノード間の暗号化を構成します。有効にする場合、キーを生成して、適切なキーの場所とトラストストアの場所およびパスワードを指定する必要があります。カスタムの暗号化オプションはサポートされていません。使用可能なオプションは以下のとおりです。
  • internode_encryption:デフォルト:なし。認証、キー交換、およびデータ転送の暗号化にTLS_RSA_WITH_AES_128_CBC_SHA暗号化スイートを使用するノード間通信の暗号化を有効または無効にします。(連邦情報処理標準)FIPS 140準拠モードで実行している場合は、TLS_DHE_RSA_WITH_AES_128_CBC_SHAなど、DHE/ECDHE暗号を使用してください。使用可能なノード間オプションは以下のとおりです。
    • all

      すべてのノード間通信を暗号化します。

    • none

      暗号化は行いません。

    • dc

      データ・センター間のトラフィックを暗号化します(サーバーのみ)。

    • rack

      ラック間のトラフィックを暗号化します(サーバーのみ)。

  • keystore:デフォルト:conf/.keystore。

    Java Secure Socket Extension(JSSE)との使用に適しているJava keystore(JKS)の場所。これはSecure Sockets Layer(SSL)とTransport Layer Security(TLS)の各プロトコルのJava版です。このキーストアには送信メッセージの暗号化に使用される秘密鍵が含まれます。

  • keystore_password:デフォルト:cassandra。

    キーストア用のパスワード。

  • truststore:デフォルト:conf/.truststore。

    リモート・サーバーの認証に必要な信頼できる証明書を含むトラストストアの場所。

  • truststore_password:デフォルト:cassandra。

    トラストストア用のパスワード。

これらのオプションで使用するパスワードは、キーストアおよびトラストストアの生成時に使用したパスワードと一致する必要があります。これらのファイルの生成手順については、「JSSEで使用するキーストアの作成」を参照してください。

詳細設定は以下のとおりです。

  • protocol:デフォルト:TLS。
  • algorithm:デフォルト:SunX509。
  • store_type:デフォルト:JKS。
  • cipher_suites:サポートされている暗号:
    • TLS_RSA_WITH_AES_128_CBC_SHA
    • TLS_RSA_WITH_AES_256_CBC_SHA
    • TLS_DHE_RSA_WITH_AES_128_CBC_SHA
    • TLS_DHE_RSA_WITH_AES_256_CBC_SHA
    • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
    • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
  • require_client_auth:デフォルト:false。

    証明書の認証を有効または無効にします

  • require_endpoint_verification:デフォルト:false。

    ホスト名の検証を有効または無効にします。

関連情報: 内部トランザクション用ノード接続のセキュリティ保護

client_encryption_options
クライアントとノード間の暗号化を有効または無効にします。キーを生成して、適切なキーの場所とトラストストアの場所およびパスワードを指定する必要があります。現時点で、DataStax Enterpriseに使用できるカスタムの暗号化オプションはありません。使用可能なオプションは以下のとおりです。
  • enabled:デフォルト:false。

    クライアント暗号化を有効にするには、trueに設定します。

  • optional:デフォルト:false。

    クライアント暗号化が有効な場合は、セキュアでない接続を使用できます。

  • keystore:デフォルト:conf/.keystore。

    Java Secure Socket Extension(JSSE)との使用に適しているJava keystore(JKS)の場所。これはSecure Sockets Layer(SSL)とTransport Layer Security(TLS)の各プロトコルのJava版です。このキーストアには送信メッセージの暗号化に使用される秘密鍵が含まれます。

  • keystore_password:デフォルト:cassandra。

    キーストア用のパスワード。これは、キーストアおよびトラストストアの生成時に使用したパスワードと一致する必要があります。

  • require_client_auth:デフォルト:false。

    証明書の認証を有効または無効にします

  • truststore:デフォルト:conf/.truststore。

    require_client_authがtrueの場合、このプロパティを設定します。

  • truststore_password:デフォルト:cassandra

    require_client_authがtrueの場合に設定します。

詳細設定は以下のとおりです。

  • protocol:デフォルト:TLS。
  • algorithm:デフォルト:SunX509。
  • store_type:デフォルト:JKS。
  • cipher_suites:サポートされている暗号:
    • TLS_RSA_WITH_AES_128_CBC_SHA
    • TLS_RSA_WITH_AES_256_CBC_SHA
    • TLS_DHE_RSA_WITH_AES_128_CBC_SHA
    • TLS_DHE_RSA_WITH_AES_256_CBC_SHA
    • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
    • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA

関連情報: クライアントとクラスター間の接続のセキュリティ保護

transparent_data_encryption_options
後方互換性を維持するためにのみ、DataStax Enterpriseはこのオプションをサポートしています。DSEを使用する場合、dse.yamlデータ暗号化オプションを構成してください。「透過的なデータ暗号化」を参照してください。

TDEプロパティは以下のとおりです。

cassandra.yamlファイルの場所は、インストールのタイプによって異なります。

パッケージ・インストールInstaller-Servicesインストール

/etc/dse/cassandra/cassandra.yaml

tarボール・インストールInstaller-No Servicesインストール

installation_location/resources/cassandra/conf/cassandra.yaml
  • enabled:(デフォルト:false
  • chunk_length_kb:(デフォルト:64)
  • cipher:オプションは以下のとおりです。
    • AES
    • CBC
    • PKCS5Padding
  • key_alias:テスト:1
  • iv_length16
    注: iv_lengthは、デフォルトのcassandra.yamlファイルでコメントアウトされています。cipherAESを設定した場合のみ、コメント解除します。値は16(バイト)でなければなりません。
  • key_provider
    • class_nameorg.apache.cassandra.security.JKSKeyProvider

      parameters:

      • keystoreconf/.keystore
      • keystore_passwordcassandra」のパスワード
      • store_typeJCEKS
      • key_password: cassandra」のパスワード
ssl_storage_port
デフォルト:7001。暗号化された通信用のSSLポート。encryption_optionsで有効にしていない限り使用されません。
native_transport_port_ssl
デフォルト:9142。クライアント暗号化が有効で、native_transport_port_sslが無効の場合、native_transport_port(デフォルト:9042)ですべてのトラフィックが暗号化されます。暗号化されていないトラフィックと暗号化されているトラフィックの両方を使用するには、native_transport_port_sslを有効にします。

連続ページング

continuous_paging
クライアントが要求した場合、ページをクライアイントに連続してプッシュします。以下のパラメーターで制御します。
  • メモリーの最大使用量。デフォルト:60 x 4 x 8 = 1920 MB(max_concurrent_sessions x max_session_pages x max_page_size_mb)。
  • スレッドの最大数。
  • ローカル・クエリーの最大期間。
ガイダンス:
  • クライアントがソケットから読み取っていない場合、プロデューサー・スレッドはmax_session_pagesをプリペアした後、最大でmax_client_wait_time_msまでブロックされます。
  • memtableとSSTableが連続ページング・クエリーで使用されるため、memtableのフラッシュとコンパクションを行うことができずSSTableを削除できない最大期間を定義できます。

    最大期間 = max_client_wait_time_ms + max_local_query_time_ms

  • テーブルの書き込みワークロードが高く、連続ページング要求がある場合は、max_local_query_time_msとmax_client_wait_time_msの調整を検討してください。
  • スレッドがセッションより少ない場合(max_threads < max_concurrent_sessions)、他のセッションがスワップアウトされるまでセッションを実行できません。
  • 分散クエリー(CL > ONEまたは非ローカル・データ)は各ページの後にスワップアウトされますが、CL = ONEのローカル・クエリーはmax_local_query_time_msの経過後にスワップアウトされます。
  • クライアントのページの読み取り速度が遅い場合は、max_client_wait_time_msを調整して遅延を大きくしてください。

パラメーター:

  • max_concurrent_sessions

    デフォルト:60。同時セッションの最大数。この値を超えてセッションが追加されると拒否され、追加できないことを示すエラーが発生します。

  • max_session_pages

    デフォルト:4。各セッションでバッファー可能なページの最大数。

  • max_page_size_mb

    デフォルト:8。ページの最大サイズ(MB)。個々のCQL行がこの値より大きい場合、ページはこの値より大きくなる可能性があります。

  • max_client_wait_time_ms

    デフォルト:20000。クライアントがソケットから読み取るのをサーバーが待っている最大待機時間。この時間を超えると、セッションは中止され、クライアントはエラーを受信します。max_client_wait_time_msに設定した値が小さすぎると、クライアント側でエラーが発生する場合があります。

  • max_local_query_time_ms

    デフォルト:5000。ローカルの連続クエリーを実行する最大時間。この値を超えると、セッションはスワップアウトされ、再スケジュールされます。スワップと再スケジュールにより、リソースが解放されてmemtableがフラッシュされるのを防ぎ、max_threads < max_concurrent_sessionsの場合の妥当性が確保されます。

  • max_threads

    デフォルト:24。連続ページング・セッション専用のスレッド数。

cassandra-env.shファイルの場所は、インストールのタイプによって異なります。

パッケージ・インストールInstaller-Servicesインストール

/etc/dse/cassandra/cassandra-env.sh

tarボール・インストールInstaller-No Servicesインストール

installation_location/resources/cassandra/conf/cassandra-env.sh
dse.yamlファイルの場所は、インストールのタイプによって異なります。

パッケージ・インストールInstaller-Servicesインストール

/etc/dse/dse.yaml

tarボール・インストールInstaller-No Servicesインストール

installation_location/resources/dse/conf/dse.yaml