All Products
Search
Document Center

E-MapReduce:Sinkronkan log audit HDFS ke HDFS

Last Updated:Aug 21, 2026

E-MapReduce (EMR) Flume dapat dijalankan dengan berbagai cara. Topik ini menjelaskan cara memodifikasi konfigurasi Flume dan menjalankan agen Flume di Konsol E-MapReduce untuk menyinkronkan log audit HDFS ke HDFS secara real time.

Prasyarat

Kluster data lake telah dibuat dan layanan Flume telah dipilih. Untuk informasi selengkapnya, lihat Buat kluster.

Prosedur

  1. Navigasikan ke halaman layanan kluster.

    1. Masuk ke Konsol E-MapReduce.

    2. Pada bilah navigasi atas, pilih Wilayah dan kelompok sumber daya sesuai kebutuhan.

    3. Pada halaman Cluster Management, temukan kluster yang ingin Anda kelola, lalu klik Services di kolom Actions.

  2. Pada halaman Services, klik Configure pada bagian layanan Flume.

  3. Konfigurasikan agen Flume pada node core-1-1 dan simpan konfigurasi tersebut.

    Parameter konfigurasi berikut mengikuti standar open-source Flume. Untuk informasi selengkapnya, lihat Apache Flume User Guide.

    1. Pada halaman Configure, klik tab flume-conf.properties.

    2. Dari daftar drop-down di bagian atas, pilih Independent Node Configuration dan core-1-1.

    3. Modifikasi parameter dalam flume-conf.properties sesuai kebutuhan Anda.

      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

      Parameter

      Deskripsi

      default-agent.sinks

      Nama semua sink. Contoh: default-sink.

      default-agent.sources

      Nama semua source. Contoh: default-source.

      default-agent.channels

      Nama semua channel. Contoh: default-channel.

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

      Jalur HDFS.

      • Untuk kluster high-availability (HA): hdfs://emr-cluster/path

      • Untuk kluster non-HA: hdfs://master-1-1:9000/path

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

      Parameter ini harus diatur ke DataStream.

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

      Ukuran file dalam byte untuk memicu roll. Ketika file temporary mencapai ukuran ini, sink akan melakukan roll ke file tujuan.

      Jika Anda mengatur parameter ini ke 0, file tidak akan di-roll berdasarkan ukuran.

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

      Jumlah event untuk memicu roll. Ketika jumlah event mencapai nilai ini, sink akan melakukan roll file temporary ke file tujuan.

      Jika Anda mengatur parameter ini ke 0, file tidak akan di-roll berdasarkan jumlah event.

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

      Interval waktu dalam detik untuk melakukan roll file. Contoh: 86400.

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

      Jumlah event yang dikelompokkan sebelum disimpan ke HDFS. Contoh: 51200.

      default-agent.sinks.default-sink.channel

      Nama channel untuk default-sink.

      default-agent.sources.default-source.bind

      Alamat IP yang akan di-bind. Atur ke 0.0.0.0 untuk mengikat semua antarmuka pada mesin.

      default-agent.sources.default-source.port

      Port yang digunakan untuk mendengarkan. Konfigurasikan parameter ini sesuai kebutuhan.

      default-agent.sources.default-source.channels

      Nama channel untuk default-source.

      default-agent.channels.default-channel.transactionCapacity

      Jumlah maksimum event yang dapat diproses oleh channel dalam satu transaksi. Nilai default-nya adalah 10000.

      default-agent.channels.default-channel.dataDirs

      Jalur tempat channel menyimpan data event.

      Parameter ini opsional. Jalur default-nya adalah ~/.flume/file-channel/data.

      default-agent.channels.default-channel.checkpointDir

      Jalur tempat channel menyimpan checkpoint.

      Parameter ini opsional. Jalur default-nya adalah ~/.flume/file-channel/checkpoint.

      default-agent.channels.default-channel.capacity

      Kapasitas channel. Konfigurasikan parameter ini berdasarkan pengaturan roll HDFS Anda.

      Parameter ini opsional. Nilai default-nya adalah 1000000.

    4. Simpan konfigurasi.
      1. Di bagian bawah halaman, klik Save.
      2. Pada kotak dialog, masukkan alasan perubahan, lalu klik OK.
  4. Ikuti petunjuk pada Langkah 3 untuk mengonfigurasi agen Flume pada node core-1-2 dan simpan konfigurasi tersebut.

  5. Konfigurasikan agen Flume pada kelompok node master dan simpan konfigurasi tersebut.

    Parameter konfigurasi berikut mengikuti standar open-source Flume. Untuk informasi selengkapnya, lihat Apache Flume User Guide.

    1. Dari daftar drop-down di bagian atas, pilih Independent Node Configuration dan master-1-1.

    2. Modifikasi parameter dalam flume-conf.properties sesuai kebutuhan Anda.

      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

      Parameter

      Deskripsi

      default-agent.sinks

      Nama semua sink. Contoh: default-sink k1.

      default-agent.sources

      Nama semua source. Contoh: default-source.

      default-agent.channels

      Nama semua channel. Contoh: default-channel.

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

      Jalur file log. Jalur default-nya adalah /mnt/disk1/log/hadoop-hdfs/hdfs-audit.log.*.

      default-agent.sources.default-source.positionFile

      Jalur tempat Flume menyimpan file posisi.

      Parameter ini opsional. Jalur default-nya adalah ~/.flume/taildir_position.json.

      default-agent.channels.default-channel.checkpointDir

      Jalur tempat channel menyimpan checkpoint.

      default-agent.channels.default-channel.dataDirs

      Jalur tempat channel menyimpan data event.

      default-agent.channels.default-channel.capacity

      Atur parameter ini berdasarkan pengaturan roll HDFS Anda.

      default-agent.sources.default-source.batchSize

      Jumlah maksimum pesan yang ditulis oleh source ke channel dalam satu batch. Contoh: 2000.

      default-agent.channels.default-channel.transactionCapacity

      Jumlah maksimum event yang dapat diambil channel dari source atau didorong ke sink per transaksi. Contoh: 2000.

      default-agent.sources.default-source.ignoreRenameWhenMultiMatching

      Ketika source taildir Flume menggunakan wildcard dalam grup file untuk mencocokkan file log4j yang telah dirotasi, duplikasi data dapat terjadi. Atur parameter ini ke true untuk mencegah masalah tersebut.

      default-agent.sinkgroups

      Nama semua grup sink. Contoh: g1.

      default-agent.sinkgroups.g1.sinks

      Nama semua sink dalam grup sink g1. Contoh: default-sink k1.

      default-agent.sinkgroups.g1.processor.type

      Jenis processor untuk grup sink g1. Nilai yang valid:

      • default: Processor default.

      • failover: Processor failover.

      • load_balance: Processor load balancing.

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

      Prioritas default-sink dalam grup sink g1. Nilai yang lebih tinggi menunjukkan prioritas yang lebih tinggi. Contoh: 10.

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

      Prioritas sink k1 dalam grup sink g1. Nilai yang lebih tinggi menunjukkan prioritas yang lebih tinggi. Contoh: 5.

      default-agent.sinks.default-sink.hostname

      Alamat IP node core-1-1.

      default-agent.sinks.default-sink.port

      Port agen Flume pada node core-1-1.

      default-agent.sinks.k1.hostname

      Alamat IP node core-1-2.

      default-agent.sinks.k1.port

      Port agen Flume pada node core-1-2.

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

      Jumlah event yang dikirim default-sink dalam setiap batch. Contoh: 2000.

      default-agent.sinks.k1.batch-size

      Jumlah event yang dikirim k1 dalam setiap batch. Contoh: 2000.

      default-agent.sinks.k1.type

      Jenis sink. Contoh: avro.

      default-agent.sinks.k1.channel

      Channel untuk sink. Contoh: default-channel.

    3. Simpan konfigurasi.
      1. Di bagian bawah halaman, klik Save.
      2. Pada kotak dialog, masukkan alasan perubahan, lalu klik OK.
  6. Jalankan agen Flume.

    1. Di pojok kanan atas, pilih More > Restart.

    2. Pada kotak dialog yang muncul, masukkan alasan pada bidang Execution Reason, lalu klik OK.

    3. Pada kotak dialog Confirm, klik OK.

      Setelah layanan direstart, agen Flume akan menyinkronkan log audit HDFS ke HDFS.

      Log agen Flume disimpan di /var/log/emr/flume/default-agent/flume.log.