All Products
Search
Document Center

E-MapReduce:Sinkronkan log audit HDFS ke HDFS

Last Updated:Apr 25, 2026

E-MapReduce mendukung beberapa cara menjalankan Flume. Topik ini menjelaskan cara memodifikasi konfigurasi Flume di Konsol E-MapReduce untuk menjalankan agen Flume yang menyinkronkan log audit HDFS ke HDFS secara real time.

Prasyarat

Kluster data lake harus dibuat dengan layanan Flume yang dipilih. Untuk informasi selengkapnya, lihat Buat kluster.

Prosedur

  1. Buka halaman Services.

    1. Masuk ke Konsol E-MapReduce.

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

    3. Pada halaman EMR on ECS, klik Services di kolom Actions kluster target.

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

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

    Konfigurasi ini berdasarkan Flume open-source. Untuk informasi selengkapnya, lihat dokumentasi resmi Flume.

    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.

      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 sink agen. Contohnya, default-sink.

      default-agent.sources

      Nama source agen. Contohnya, default-source.

      default-agent.channels

      Nama channel agen. Contohnya, default-channel.

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

      Jalur tujuan di HDFS.

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

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

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

      Tipe file. Nilai ini harus diatur ke DataStream.

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

      Ukuran file dalam byte yang memicu roll. Ketika file temporary mencapai ukuran ini, file tersebut akan diganti nama dan dipindahkan ke lokasi tujuan akhirnya.

      Atur ke 0 untuk menonaktifkan rolling berdasarkan ukuran.

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

      Jumlah event yang memicu roll file. Ketika sebuah file berisi sejumlah event ini, file tersebut akan di-rolled.

      Atur ke 0 untuk menonaktifkan rolling berdasarkan jumlah event.

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

      Interval dalam detik untuk melakukan roll file, terlepas dari ukuran atau jumlah event-nya. Contohnya, 86400.

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

      Jumlah event yang ditulis ke HDFS dalam satu batch. Contohnya, 51200.

      default-agent.sinks.default-sink.channel

      Nama channel untuk default-sink.

      default-agent.sources.default-source.bind

      Alamat IP atau hostname tempat source melakukan bind. Atur ke 0.0.0.0 untuk melakukan bind ke semua antarmuka jaringan.

      default-agent.sources.default-source.port

      Port tempat source mendengarkan event. Konfigurasikan port 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 ditangani 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 file titik pemeriksaan disimpan.

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

      default-agent.channels.default-channel.capacity

      Jumlah maksimum event yang dapat disimpan oleh channel. Atur nilai 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. Ulangi Langkah 3 untuk mengonfigurasi agen Flume pada node core-1-2.

  5. Konfigurasikan agen Flume untuk kelompok node master dan simpan konfigurasinya.

    Konfigurasi ini berdasarkan Flume open-source. Untuk informasi selengkapnya, lihat dokumentasi resmi Flume.

    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.

      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 sink agen. Contohnya, default-sink k1.

      default-agent.sources

      Nama source agen. Contohnya, default-source.

      default-agent.channels

      Nama channel agen. Contohnya, default-channel.

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

      Jalur ke file log yang akan dikumpulkan. Jalur default-nya adalah /mnt/disk1/log/hadoop-hdfs/hdfs-audit.log.*.

      default-agent.sources.default-source.positionFile

      Jalur ke file posisi yang melacak progres pembacaan.

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

      default-agent.channels.default-channel.checkpointDir

      Jalur tempat file titik pemeriksaan disimpan.

      default-agent.channels.default-channel.dataDirs

      Jalur tempat channel menyimpan data event.

      default-agent.channels.default-channel.capacity

      Atur nilai ini berdasarkan pengaturan roll HDFS Anda.

      default-agent.sources.default-source.batchSize

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

      default-agent.channels.default-channel.transactionCapacity

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

      default-agent.sources.default-source.ignoreRenameWhenMultiMatching

      Duplikasi data dapat terjadi ketika source taildir Flume menggunakan wildcard dalam filegroups untuk mencocokkan file Log4j yang telah dirotasi. Atur parameter ini ke true untuk mencegah masalah ini.

      default-agent.sinkgroups

      Nama kelompok sink agen. Contohnya, g1.

      default-agent.sinkgroups.g1.sinks

      Nama sink dalam kelompok sink g1. Contohnya, default-sink k1.

      default-agent.sinkgroups.g1.processor.type

      Logika pemrosesan untuk kelompok sink g1. Nilai yang valid adalah:

      • default: Prosesor sink default.

      • failover: Menerapkan failover untuk kelompok sink.

      • load_balance: Menerapkan load balancing untuk kelompok sink.

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

      Prioritas default-sink dalam kelompok sink g1. Nilai yang lebih tinggi memberikan prioritas lebih tinggi pada sink tersebut. Contoh: 10.

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

      Prioritas sink k1 dalam kelompok sink g1. Nilai yang lebih tinggi memberikan prioritas lebih tinggi pada sink tersebut. 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 dalam setiap batch oleh default-sink. Contoh: 2000.

      default-agent.sinks.k1.batch-size

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

      default-agent.sinks.k1.type

      Tipe sink. Contohnya, avro.

      default-agent.sinks.k1.channel

      Channel yang digunakan oleh sink. Contohnya, 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 Execution Reason lalu klik OK.

    3. Pada kotak dialog Confirm, klik OK.

      Setelah restart, agen Flume mulai menyinkronkan log audit HDFS ke HDFS.

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