すべてのプロダクト
Search
ドキュメントセンター

E-MapReduce:HDFS 監査ログの HDFS への同期

最終更新日:Aug 22, 2026

E-MapReduce (EMR) の Flume は、複数の方法で起動できます。このトピックでは、EMR コンソールで Flume の設定を変更し、Flume エージェントを起動して、HDFS の監査ログを HDFS にリアルタイムで同期する方法について説明します。

前提条件

データレイククラスターが作成され、Flume サービスが選択されていること。詳細については、「クラスターの作成」をご参照ください。

操作手順

  1. クラスターサービスページに移動します。

    1. E-MapReduce コンソールにログインします。

    2. 上部のナビゲーションバーで、必要に応じてリージョンとリソースグループを選択します。

    3. Cluster Management ページで、管理するクラスターを見つけ、[操作] 列の Services をクリックします。

  2. Services ページで、Flume サービスセクションの Configure をクリックします。

  3. core-1-1 ノードで Flume エージェントを設定し、設定を保存します。

    以下の設定パラメーターは、オープンソースの Flume の標準に準拠しています。詳細については、「Apache Flume ユーザーガイド」をご参照ください。

    1. Configure ページで、[flume-conf.properties] タブをクリックします。

    2. 上部のドロップダウンリストから Independent Node Configuration[core-1-1] を選択します。

    3. 要件に応じて flume-conf.properties のパラメーターを変更します。

      default-agent.sinks = default-sink
      default-agent.sources = default-source
      default-agent.channels = default-channel
      default-agent.sinks.default-sink.type = hdfs
      default-agent.sinks.default-sink.channel =  default-channel
      default-agent.channels.default-channel.type = file
      default-agent.sources.default-source.type = avro
      default-agent.sinks.default-sink.hdfs.path = hdfs://master-1-1:9000/path
      default-agent.sinks.default-sink.hdfs.fileType = DataStream
      default-agent.sinks.default-sink.hdfs.rollSize = 0
      default-agent.sinks.default-sink.hdfs.rollCount = 0
      default-agent.sinks.default-sink.hdfs.rollInterval = 86400
      default-agent.sinks.default-sink.hdfs.batchSize = 51200
      default-agent.sources.default-source.bind = 0.0.0.0
      default-agent.sources.default-source.port = ****
      default-agent.sources.default-source.channels =  default-channel
      default-agent.channels.default-channel.transactionCapacity = 10000
      default-agent.channels.default-channel.dataDirs = ****
      default-agent.channels.default-channel.checkpointDir = ****
      default-agent.channels.default-channel.capacity = 1000000

      パラメーター

      説明

      default-agent.sinks

      すべてのシンクの名前。例:default-sink。

      default-agent.sources

      すべてのソースの名前。例:default-source。

      default-agent.channels

      すべてのチャンネルの名前。例:default-channel。

      default-agent.sinks.default-sink.hdfs.path

      HDFS パス。

      • 高可用性 (HA) クラスターの場合:hdfs://emr-cluster/path

      • 非 HA クラスターの場合:hdfs://master-1-1:9000/path

      default-agent.sinks.default-sink.hdfs.fileType

      このパラメーターは DataStream に設定する必要があります。

      default-agent.sinks.default-sink.hdfs.rollSize

      ロールをトリガーするファイルサイズ (バイト単位)。一時ファイルがこのサイズに達すると、シンクはそれを送信先ファイルにロールします。

      このパラメーターを 0 に設定すると、ファイルはサイズに基づいてロールされません。

      default-agent.sinks.default-sink.hdfs.rollCount

      ロールをトリガーするイベント数。イベント数がこの値に達すると、シンクは一時ファイルを送信先ファイルにロールします。

      このパラメーターを 0 に設定すると、イベント数に基づいてファイルはロールされません。

      default-agent.sinks.default-sink.hdfs.rollInterval

      ファイルをロールする時間間隔 (秒単位)。例:86400。

      default-agent.sinks.default-sink.hdfs.batchSize

      HDFS にフラッシュする前にバッチ処理するイベント数。例:51200。

      default-agent.sinks.default-sink.channel

      default-sink のチャンネル名。

      default-agent.sources.default-source.bind

      バインドする IP アドレス。マシン上のすべてのインターフェイスにバインドするには、これを 0.0.0.0 に設定します。

      default-agent.sources.default-source.port

      リッスンするポート。必要に応じてこのパラメーターを設定します。

      default-agent.sources.default-source.channels

      default-source のチャンネル名。

      default-agent.channels.default-channel.transactionCapacity

      チャンネルが 1 回のトランザクションで処理できるイベントの最大数。デフォルト値は 10000 です。

      default-agent.channels.default-channel.dataDirs

      チャンネルがイベントデータを保存するパス。

      このパラメーターはオプションです。デフォルトのパスは ~/.flume/file-channel/data です。

      default-agent.channels.default-channel.checkpointDir

      チャンネルがチェックポイントを保存するパス。

      このパラメーターはオプションです。デフォルトのパスは ~/.flume/file-channel/checkpoint です。

      default-agent.channels.default-channel.capacity

      チャンネルのキャパシティ。HDFS のロール設定に基づいてこのパラメーターを設定します。

      このパラメーターはオプションです。デフォルト値は 1000000 です。

    4. 設定を保存します。
      1. ページ下部の Save をクリックします。
      2. ダイアログボックスで変更理由を入力し、OK をクリックします。
  4. ステップ 3 の手順に従って、core-1-2 ノードで Flume エージェントを構成し、構成を保存します。

  5. マスターノードグループで Flume エージェントを設定し、設定を保存します。

    以下の設定パラメーターは、オープンソースの Flume の標準に準拠しています。詳細については、「Apache Flume ユーザーガイド」をご参照ください。

    1. 上部のドロップダウンリストから Independent Node Configuration[master-1-1] を選択します。

    2. 要件に応じて flume-conf.properties のパラメーターを変更します。

      default-agent.sinks = default-sink k1
      default-agent.sources = default-source
      default-agent.channels = default-channel
      default-agent.sources.default-source.type = taildir
      default-agent.sinks.default-sink.type = avro
      default-agent.sinks.default-sink.channel =  default-channel
      default-agent.channels.default-channel.type = file
      default-agent.sources.default-source.filegroups = f1
      default-agent.sources.default-source.filegroups.f1 = /mnt/disk1/log/hadoop-hdfs/hdfs-audit.log.*
      default-agent.sources.default-source.positionFile = ~/.flume/taildir_position.json
      default-agent.sources.default-source.channels =  default-channel
      default-agent.sources.default-source.batchSize = 2000
      default-agent.sources.default-source.ignoreRenameWhenMultiMatching = true
      default-agent.channels.default-channel.checkpointDir = ****
      default-agent.channels.default-channel.dataDirs = ****
      default-agent.channels.default-channel.capacity = ****
      default-agent.channels.default-channel.transactionCapacity = 2000
      default-agent.sinkgroups = g1
      default-agent.sinkgroups.g1.sinks = default-sink k1
      default-agent.sinkgroups.g1.processor.type = failover
      default-agent.sinkgroups.g1.processor.priority.default-sink = 10
      default-agent.sinkgroups.g1.processor.priority.k1 = 5
      default-agent.sinks.default-sink.hostname = ****
      default-agent.sinks.default-sink.port = ****
      default-agent.sinks.k1.hostname = ****
      default-agent.sinks.k1.port = ****
      default-agent.sinks.default-sink.batch-size = 2000
      default-agent.sinks.k1.batch-size = 2000
      default-agent.sinks.k1.type = avro
      default-agent.sinks.k1.channel = default-channel

      パラメーター

      説明

      default-agent.sinks

      すべてのシンクの名前。例:default-sink k1。

      default-agent.sources

      すべてのソースの名前。例:default-source。

      default-agent.channels

      すべてのチャンネルの名前。例:default-channel。

      default-agent.sources.default-source.filegroups.f1

      ログファイルのパス。デフォルトのパスは /mnt/disk1/log/hadoop-hdfs/hdfs-audit.log.* です。

      default-agent.sources.default-source.positionFile

      Flume がポジションファイルを保存するパス。

      このパラメーターはオプションです。デフォルトのパスは ~/.flume/taildir_position.json です。

      default-agent.channels.default-channel.checkpointDir

      チャンネルがチェックポイントを保存するパス。

      default-agent.channels.default-channel.dataDirs

      チャンネルがイベントデータを保存するパス。

      default-agent.channels.default-channel.capacity

      HDFS のロール設定に基づいてこのパラメーターを設定します。

      default-agent.sources.default-source.batchSize

      ソースが 1 回のバッチでチャンネルに書き込むメッセージの最大数。例:2000。

      default-agent.channels.default-channel.transactionCapacity

      チャンネルが 1 回のトランザクションでソースから取得したり、シンクにプッシュしたりできるイベントの最大数。例:2000。

      default-agent.sources.default-source.ignoreRenameWhenMultiMatching

      Flume の taildir ソースがファイルグループでワイルドカードを使用してローテーションされた log4j ファイルを照合すると、データが重複する可能性があります。この問題を回避するには、このパラメーターを true に設定します。

      default-agent.sinkgroups

      すべてのシンクグループの名前。例:g1。

      default-agent.sinkgroups.g1.sinks

      g1 シンクグループ内のすべてのシンクの名前。例:default-sink k1。

      default-agent.sinkgroups.g1.processor.type

      g1 シンクグループのプロセッサタイプ。有効な値:

      • default:デフォルトのプロセッサ。

      • failover:フェールオーバープロセッサ。

      • load_balance:負荷分散プロセッサ。

      default-agent.sinkgroups.g1.processor.priority.default-sink

      g1 シンクグループ内での default-sink の優先度。値が大きいほど優先度が高くなります。例:10。

      default-agent.sinkgroups.g1.processor.priority.k1

      g1 シンクグループ内での k1 シンクの優先度。値が大きいほど優先度が高くなります。例:5。

      default-agent.sinks.default-sink.hostname

      core-1-1 ノードの IP アドレス。

      default-agent.sinks.default-sink.port

      core-1-1 ノード上の Flume エージェントのポート。

      default-agent.sinks.k1.hostname

      core-1-2 ノードの IP アドレス。

      default-agent.sinks.k1.port

      core-1-2 ノード上の Flume エージェントのポート。

      default-agent.sinks.default-sink.batch-size

      default-sink が各バッチで送信するイベント数。例:2000。

      default-agent.sinks.k1.batch-size

      k1 が各バッチで送信するイベント数。例:2000。

      default-agent.sinks.k1.type

      シンクタイプ。例:avro。

      default-agent.sinks.k1.channel

      シンクのチャンネル。例:default-channel。

    3. 設定を保存します。
      1. ページ下部の Save をクリックします。
      2. ダイアログボックスで変更理由を入力し、OK をクリックします。
  6. Flume エージェントを起動します。

    1. 右上隅で、More > 再起動 を選択します。

    2. 表示されたダイアログボックスの Execution Reason フィールドに理由を入力し、OK をクリックします。

    3. Confirm ダイアログボックスで OK をクリックします。

      サービスが再起動すると、Flume エージェントは HDFS 監査ログを HDFS に同期します。

      Flume エージェントのログは /var/log/emr/flume/default-agent/flume.log に保存されます。