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
-
Navigasikan ke halaman layanan kluster.
-
Masuk ke Konsol E-MapReduce.
-
Pada bilah navigasi atas, pilih Wilayah dan kelompok sumber daya sesuai kebutuhan.
-
Pada halaman Cluster Management, temukan kluster yang ingin Anda kelola, lalu klik Services di kolom Actions.
-
-
Pada halaman Services, klik Configure pada bagian layanan Flume.
-
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.
-
Pada halaman Configure, klik tab flume-conf.properties.
-
Dari daftar drop-down di bagian atas, pilih Independent Node Configuration dan core-1-1.
-
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 = 1000000Parameter
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.
-
- Simpan konfigurasi.
- Di bagian bawah halaman, klik Save.
- Pada kotak dialog, masukkan alasan perubahan, lalu klik OK.
-
-
Ikuti petunjuk pada Langkah 3 untuk mengonfigurasi agen Flume pada node core-1-2 dan simpan konfigurasi tersebut.
-
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.
-
Dari daftar drop-down di bagian atas, pilih Independent Node Configuration dan master-1-1.
-
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-channelParameter
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.
-
- Simpan konfigurasi.
- Di bagian bawah halaman, klik Save.
- Pada kotak dialog, masukkan alasan perubahan, lalu klik OK.
-
-
Jalankan agen Flume.
-
Di pojok kanan atas, pilih .
-
Pada kotak dialog yang muncul, masukkan alasan pada bidang Execution Reason, lalu klik OK.
-
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.
-