DSEFSの使用

DSEFSを使用して、データ・レプリケーションを構成し、Kafkaログの保持設定を含むその他の機能を実行するための手順。

データ・レプリケーションを構成する必要があります。必要に応じて、1つのデータ・センターに複数のDSEFSファイル・システムを構成し、Kafkaログの保持設定を含むその他の機能を実行できます。

DSEFSを複数のデータ・センターにわたって構成することはできません。以下の手順に従い、データ・センターごとに個別のDSEFSインスタンスを作成してください。

dse.yaml

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

DSEFSの制限事項

DSEFSを構成し、調整する場合、以下の制限事項に注意してください。以下の機能はサポートされていません。
  • 暗号化。

    オペレーティング・システムのアクセス制御を使用すると、ローカルのDSEFSデータ・ディレクトリーを保護できます。

  • ファイル・システム整合性チェック(fsck)とファイル・リペアは、サポートが制限されています。fsckを実行すると、ノードがクラスターに含まれていなかったためにレプリケートが不十分だったブロックが再レプリケートされます。
  • ファイル・リペア。
  • 強制バランス調整(ただし、クラスターのバランスは最終的に均衡に達します)。
  • チェックサム。
  • 自動バックアップ。
  • マルチ・データ・センター・レプリケーション。
  • シンボリック・リンク(ソフト・リンク、symlink)およびハードリンク。
  • スナップショット。

手順

  1. メタデータとデータ・ブロックのレプリケーションを構成します。
    ノード障害時のデータ喪失を防止するために、レプリケーション係数を適切に設定する必要があります。レプリケーション係数は、メタデータとデータ・ブロックの両方について設定する必要があります。データ・ブロックの場合、レプリケーション係数を3に設定すると、ほとんどのユース・ケースに適しています。
    1. グローバル:データベースに格納されているdsefsキースペースでのメタデータのレプリケーションを設定します。
      たとえば、CQL文を使用して、NetworkTopologyStrategyを使用するAnalyticsデータ・センターについてレプリケーション係数を3に構成します。
      ALTER KEYSPACE dsefs 
      WITH REPLICATION = {
         'class': 'NetworkTopologyStrategy', 
         'Analytics': '3'};
      注: データ・センターの名前は、大文字と小文字が区別されます。dsetool statusなど、使用しているユーティリティの大文字と小文字を確認してください。
    2. DSEFSキースペース上でnodetool repairを実行します。
      nodetool repair dsefs
    3. ローカル:データ・ブロックが格納されている特定のDSEFSファイルまたはディレクトリーのレプリケーション係数を設定します。
      たとえば、以下のコマンドラインを使用します。
      dse fs mkdir -n 4 newdirectory

      レプリケーション係数(RF)を指定しない場合、RFは親ディレクトリーから継承されます。

  2. 複数のAnalyticsデータ・センターがある場合は、各DSEFSファイル・システムをそれぞれのデータ・センター内でレプリケートするように構成する必要があります。
    1. dse.yaml ファイルで、論理データ・センターごとに個別のDSEFSキースペースを指定します。
      たとえば、論理データ・センターDC1とDC2を持つクラスターの場合は、以下のように入力します。
      DC1の各ノード:
      dsefs_options:
          ...
          keyspace_name: dsefs1
      DC2の各ノード:
      dsefs_options:
          ...
          keyspace_name: dsefs2
    2. ノードを再起動します。
    3. 特定のデータ・センターにのみ存在するようにキースペース・レプリケーションを変更します。
      DC1:
      ALTER KEYSPACE dsefs1 
      WITH REPLICATION = {
         'class': 'NetworkTopologyStrategy', 
         'DC1': '3'};
      DC2:
      ALTER KEYSPACE dsefs2 
      WITH REPLICATION = {
         'class': 'NetworkTopologyStrategy', 
         'DC2': '3'};
    4. DSEFSキースペース上でnodetool repairを実行します。
      nodetool repair dsefs
    たとえば、複数のデータ・センターが存在するクラスターでは、キースペース名dsefs1およびdsefs2によって、各データ・センターの個別のファイル・システムが定義されます。
  3. ストリーミング・アプリケーションをバウンスする場合、Kafkaログ構成(特にlog.retention.check.interval.mspolicies.log.retention.bytes)を確認します。Kafkaログの保持ポリシーが、アプリケーションとコンシューマーのバックアップに予想される時間に十分に対処できることを確認します。
    たとえば、ログの保持ポリシーが慎重すぎて、ディスク領域を節約するための削除やローリングが頻繁にログに記録される場合、Kafkaログにその時点で維持されていないオフセットを参照するチェックポイントから復元しようとすると問題が発生する可能性があります。