DSEFSの有効化

DataStax Enterpriseノード上でDSEFSを有効にするための手順。

DSEFSは、非分析ノードでは自動的に有効になり、Analyticsノード以外では自動的に無効になります。DSEFSサービスは、DataStax Enterpriseクラスターのどのノードでも有効にすることができます。DSEFSが有効になっている同一のデータ・センター内のノードは、結合され、DSEFSクラスターとして動作します。

dse.yaml

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

手順

各ノードで、以下の手順を実行します。
  1. dse.yaml ファイルで、DSEFSオプションのコメントを解除し、プロパティを設定します。
    # dsefs_options:
    #    enabled: 
    #    keyspace_name: dsefs
    #    work_dir: /var/lib/dsefs
    #    public_port: 5598
    #    private_port: 5599
    #    data_directories:
    #      - dir: /var/lib/dsefs/data
    #        storage_weight: 1.0
    #        min_free_space: 5368709120
    1. DSEFSを有効にするには:
      enabled: true
      enabledを空白にするか、またはコメントアウトすると、ノードが分析ワークロードを実行するように構成されている場合にのみDSEFSが起動します。
    2. DSEFSメタデータを格納するためのキースペースを定義します。
      keyspace_name: dsefs
      必要に応じて、1つのデータ・センターに複数のDSEFSファイル・システムを構成できます。
    3. ローカル・ノードのDSEFSメタデータを格納するための作業ディレクトリーを定義します。作業ディレクトリーは、他のDSEFSノードと共有できません。
      work_dir: /var/lib/dsefs
    4. DSEFSがクライアントをリッスンするパブリック・ポートを定義します。
      public_port: 5598
      注: DataStaxは、クラスター内のすべてのノードでこの値を同じにすることを推奨します。ファイアウォールは、信頼できるクライアントに対してこのポートを開いている必要があります。このポートのサービスは、native_transport_addressにバインドされます。
    5. DSEFSのノード間通信用のプライベート・ポートを定義します。
      private_port: 5599
      注意: ファイアウォールに対してこのポートを開かないでください。このプライベート・ポートはクラスターの外部からは見えないようにする必要があります。
    6. ファイル・データ・ブロックが各ノードでローカルに格納されるデータ・ディレクトリーを設定します。
      data_directories:
          - dir: /var/lib/dsefs/data
      デフォルトの/var/lib/dsefs/dataデータ・ディレクトリーを使用する場合、このディレクトリーが存在し、rootアクセス権があることを確認します。それ以外の場合は、独自のディレクトリーの場所を定義するか、ディレクトリーの所有権を変更するか、またはその両方を実行します。
      sudo mkdir -p /var/lib/dsefs/data; sudo chown -R  $USER:$GROUP /var/lib/dsefs/data
      データ・ディレクトリーがDataStax Enterpriseユーザーによって書き込み可能であることを確認します。データベースとは異なる物理デバイスにデータ・ディレクトリーを配置します。JBODで複数のデータ・ディレクトリーを使用すると、パフォーマンスと容量の面で効果的です。
    7. データ・ディレクトリーごとに、重み付け係数を設定して、クラスター内の他のディレクトリーに対して、このディレクトリに配置するデータ量を指定します。この柔軟な制約で、DSEFSがデータを分散する方法が決定します。たとえば、値が3.0のディレクトリーは、値が1.0のディレクトリーの約3倍のデータを受け取ります。
      data_directories:
          - dir: /var/lib/dsefs/data
            storage_weight: 1.0
    8. データ・ディレクトリーごとに、ファイル・データ・ブロックの格納に使用されない、予約されている領域(バイト)を定義します。「min_free_space」を参照してください。
      data_directories:
          - dir: /var/lib/dsefs/data
            storage_weight: 1.0
            min_free_space: 5368709120
  2. ノードを再起動します。
  3. 残りのノードについても手順を繰り返します。
  4. オプション: 高度なDSEFSプロパティを調整する場合は、DataStaxサポートの指示を受けてください。
    #     service_startup_timeout_ms: 30000
    #     service_close_timeout_ms: 600000
    #     server_close_timeout_ms: 2147483647 # Integer.MAX_VALUE
    #     compression_frame_max_size: 1048576
    #     query_cache_size: 2048
    #     query_cache_expire_after_ms: 2000
    #     gossip_options:
      #   round_delay_ms: 2000
      #   startup_delay_ms: 5000
      #   shutdown_delay_ms: 10000
    # rest_options:
      #   request_timeout_ms: 330000
      #   connection_open_timeout_ms: 55000
      #   client_close_timeout_ms: 60000
      #   server_request_timeout_ms: 300000
      #   idle_connection_timeout_ms: 60000
      #   internode_idle_connection_timeout_ms: 120000
      #   core_max_concurrent_connections_per_host: 8
    # transaction_options:
      #   transaction_timeout_ms: 3000
      #   conflict_retry_delay_ms: 200
      #   conflict_retry_count: 40
      #   execution_retry_delay_ms: 1000
      #   execution_retry_count: 3
    #     block_allocator_options:
    #         overflow_margin_mb: 1024
    #         overflow_factor: 1.05
  5. DSEFSの使用を続行します。