Apache Flume - Mimari
Aşağıdaki çizim, Flume'un temel mimarisini tasvir etmektedir. Resimde gösterildiği gibi,data generators (Facebook, Twitter gibi) bireysel Flume tarafından toplanan verileri üretir agentsonlara koşuyor. Bundan sonra birdata collector (aynı zamanda bir aracıdır), toplanan ve HDFS veya HBase gibi merkezi bir depoya gönderilen aracılardan verileri toplar.
Flume Etkinliği
Bir event içinde taşınan verinin temel birimidir Flume. Kaynaktan hedefe isteğe bağlı başlıklar eşliğinde taşınacak bir bayt dizisi yükü içerir. Tipik bir Flume etkinliği aşağıdaki yapıya sahip olacaktır:
Flume Ajan
Bir agentFlume'de bağımsız bir arka plan programı sürecidir (JVM). Verileri (olayları) istemcilerden veya diğer aracılardan alır ve bir sonraki hedefine (havuz veya aracı) iletir. Flume birden fazla maddeye sahip olabilir. Aşağıdaki diyagram birFlume Agent
Diyagramda gösterildiği gibi bir Flume Agent üç ana bileşen içerir: source, channel, ve sink.
Kaynak
Bir source Veri üreticilerinden veri alan ve bunları Flume olayları biçiminde bir veya daha fazla kanala aktaran bir Aracı bileşenidir.
Apache Flume birkaç tür kaynağı destekler ve her kaynak belirli bir veri üreticisinden olayları alır.
Example - Avro kaynağı, Thrift kaynağı, twitter% 1 kaynağı vb.
Kanal
Bir channelolayları kaynaktan alan ve havuzlar tarafından tüketilene kadar tamponlayan geçici bir depodur. Kaynaklar ve lavabolar arasında bir köprü görevi görür.
Bu kanallar tamamen işlemseldir ve herhangi bir sayıda kaynak ve havuz ile çalışabilirler.
Example - JDBC kanalı, Dosya sistemi kanalı, Bellek kanalı vb.
Lavabo
Bir sinkverileri HBase ve HDFS gibi merkezi mağazalarda depolar. Kanallardan gelen verileri (olayları) tüketir ve hedefe iletir. Lavabonun varış yeri başka bir acente veya merkezi mağazalar olabilir.
Example - HDFS havuzu
Note- Bir kanal aracısının birden fazla kaynağı, havuzu ve kanalı olabilir. Desteklenen tüm kaynakları, havuzları, kanalları bu eğiticinin Flume yapılandırma bölümünde listeledik.
Flume Agent'ın Ek Bileşenleri
Yukarıda tartıştığımız şey, ajanın ilkel bileşenleridir. Buna ek olarak, olayların veri üreticisinden merkezi depolara aktarılmasında hayati rol oynayan birkaç bileşene daha sahibiz.
Önleyiciler
Durdurucular, kaynak ve kanal arasında aktarılan kanal olaylarını değiştirmek / incelemek için kullanılır.
Kanal Seçiciler
Bunlar, birden fazla kanal olması durumunda hangi kanalın veri aktarımının seçileceğini belirlemek için kullanılır. İki tür kanal seçici vardır -
Default channel selectors - Bunlar, her bir kanaldaki tüm olayları kopyaladıkları çoğaltma kanal seçicileri olarak da bilinir.
Multiplexing channel selectors - Bunlar, kanalın o olayın başlığındaki adrese göre bir olay göndermesine karar verir.
Lavabo İşlemcileri
Bunlar, seçilen havuz grubundan belirli bir lavaboyu çağırmak için kullanılır. Bunlar havuzlarınız için yük devretme yolları oluşturmak veya bir kanaldaki birden fazla havuzda denge olaylarını yüklemek için kullanılır.