Apache Flume - Arsitektur
Ilustrasi berikut menggambarkan arsitektur dasar Flume. Seperti yang diperlihatkan dalam ilustrasi,data generators (seperti Facebook, Twitter) menghasilkan data yang dikumpulkan oleh Flume individu agentsberlari di atasnya. Setelah itu, adata collector (yang juga merupakan agen) mengumpulkan data dari agen yang dikumpulkan dan didorong ke penyimpanan terpusat seperti HDFS atau HBase.
Acara Flume
Sebuah event adalah unit dasar dari data yang diangkut di dalamnya Flume. Ini berisi payload array byte yang akan diangkut dari sumber ke tujuan disertai dengan header opsional. Acara Flume tipikal akan memiliki struktur berikut -
Agen Flume
Sebuah agentadalah proses daemon independen (JVM) di Flume. Ini menerima data (peristiwa) dari klien atau agen lain dan meneruskannya ke tujuan berikutnya (sink atau agen). Flume mungkin memiliki lebih dari satu agen. Diagram berikut mewakili aFlume Agent
Seperti yang ditunjukkan pada diagram, Agen Flume berisi tiga komponen utama yaitu, source, channel, dan sink.
Sumber
SEBUAH source adalah komponen Agen yang menerima data dari penghasil data dan mentransfernya ke satu atau lebih saluran dalam bentuk peristiwa Flume.
Apache Flume mendukung beberapa jenis sumber dan setiap sumber menerima peristiwa dari generator data yang ditentukan.
Example - Sumber Avro, Sumber barang bekas, sumber twitter 1% dll.
Saluran
SEBUAH channeladalah penyimpanan sementara yang menerima peristiwa dari sumber dan menyangganya sampai dikonsumsi oleh sink. Ini bertindak sebagai jembatan antara sumber dan wastafel.
Saluran ini sepenuhnya transaksional dan dapat bekerja dengan sejumlah sumber dan sink.
Example - Saluran JDBC, Saluran sistem file, Saluran memori, dll.
Wastafel
SEBUAH sinkmenyimpan data ke penyimpanan terpusat seperti HBase dan HDFS. Itu mengkonsumsi data (peristiwa) dari saluran dan mengirimkannya ke tujuan. Tujuan wastafel mungkin agen lain atau toko pusat.
Example - Wastafel HDFS
Note- Agen flume dapat memiliki berbagai sumber, sink, dan saluran. Kami telah membuat daftar semua sumber, sink, saluran yang didukung di bab konfigurasi Flume dari tutorial ini.
Komponen Tambahan Agen Flume
Apa yang telah kita bahas di atas adalah komponen primitif dari agen. Selain itu, kami memiliki beberapa komponen lagi yang memainkan peran penting dalam mentransfer peristiwa dari generator data ke penyimpanan terpusat.
Interceptors
Interceptors digunakan untuk mengubah / memeriksa kejadian flume yang ditransfer antara sumber dan saluran.
Pemilih Saluran
Ini digunakan untuk menentukan saluran mana yang akan dipilih untuk mentransfer data jika ada banyak saluran. Ada dua jenis pemilih saluran -
Default channel selectors - Ini juga dikenal sebagai pemilih saluran yang mereplikasi semua acara di setiap saluran.
Multiplexing channel selectors - Ini memutuskan saluran untuk mengirim acara berdasarkan alamat di tajuk acara itu.
Prosesor Tenggelam
Ini digunakan untuk memanggil sink tertentu dari grup sink yang dipilih. Ini digunakan untuk membuat jalur failover untuk sink Anda atau peristiwa load balance di beberapa sink dari sebuah saluran.