Apache Flume - Yapılandırma
Flume'u kurduktan sonra, bir Java özellik dosyası olan yapılandırma dosyasını kullanarak yapılandırmamız gerekir. key-value pairs. Dosyadaki anahtarlara değerler aktarmamız gerekiyor.
Flume yapılandırma dosyasında, ihtiyacımız olan -
- Mevcut aracının bileşenlerini adlandırın.
- Kaynağı tanımlayın / yapılandırın.
- Lavaboyu tanımlayın / yapılandırın.
- Kanalı açıklayın / yapılandırın.
- Kaynağı ve havuzu kanala bağlayın.
Genellikle Flume'de birden fazla ajanımız olabilir. Her bir temsilciyi benzersiz bir ad kullanarak ayırt edebiliriz. Ve bu adı kullanarak, her ajanı yapılandırmamız gerekiyor.
Bileşenleri Adlandırma
Her şeyden önce, aşağıda gösterildiği gibi, kaynaklar, alıcılar ve aracının kanalları gibi bileşenleri adlandırmanız / listelemeniz gerekir.
agent_name.sources = source_name 
agent_name.sinks = sink_name 
agent_name.channels = channel_nameFlume, çeşitli kaynakları, havuzları ve kanalları destekler. Aşağıda verilen tabloda listelenmiştir.
| Kaynaklar | Kanallar | Lavabolar | 
|---|---|---|
| 
 | 
 | 
 | 
Bunlardan herhangi birini kullanabilirsiniz. Örneğin, Twitter verilerini Twitter kaynağı kullanarak bir bellek kanalı üzerinden bir HDFS havuzuna aktarıyorsanız ve temsilci adı kimliğiTwitterAgent, sonra
TwitterAgent.sources = Twitter 
TwitterAgent.channels = MemChannel 
TwitterAgent.sinks = HDFSAracının bileşenlerini listeledikten sonra, kaynak (lar) ı, havuz (lar) ı ve kanal (lar) ı, özelliklerine değerler sağlayarak tanımlamanız gerekir.
Kaynağı Tanımlama
Her kaynağın ayrı bir özellik listesi olacaktır. "Tür" adlı özellik her kaynak için ortaktır ve kullandığımız kaynağın türünü belirtmek için kullanılır.
"Tür" özelliğinin yanı sıra, tüm required aşağıda gösterildiği gibi yapılandırmak için belirli bir kaynağın özellikleri.
agent_name.sources. source_name.type = value 
agent_name.sources. source_name.property2 = value 
agent_name.sources. source_name.property3 = valueÖrneğin, twitter sourceYapılandırmak için değerler sağlamamız gereken özellikler aşağıdadır .
TwitterAgent.sources.Twitter.type = Twitter (type name) 
TwitterAgent.sources.Twitter.consumerKey =  
TwitterAgent.sources.Twitter.consumerSecret = 
TwitterAgent.sources.Twitter.accessToken =   
TwitterAgent.sources.Twitter.accessTokenSecret =Lavaboyu Tanımlamak
Aynı kaynak gibi, her havuzda ayrı bir özellik listesi olacaktır. "Tür" adlı özellik her havuzda ortaktır ve kullandığımız havuzun türünü belirtmek için kullanılır. "Tür" özelliğinin yanı sıra, tümrequired aşağıda gösterildiği gibi yapılandırmak için belirli bir havuzun özellikleri.
agent_name.sinks. sink_name.type = value 
agent_name.sinks. sink_name.property2 = value 
agent_name.sinks. sink_name.property3 = valueÖrneğin, düşünürsek HDFS sinkYapılandırmak için değerler sağlamamız gereken özellikler aşağıdadır .
TwitterAgent.sinks.HDFS.type = hdfs (type name)  
TwitterAgent.sinks.HDFS.hdfs.path = HDFS directory’s Path to store the dataKanalı Tanımlamak
Flume, kaynaklar ve havuzlar arasında veri aktarımı için çeşitli kanallar sağlar. Bu nedenle kaynaklar ve kanallar ile birlikte aracıda kullanılan kanalın açıklanması gerekmektedir.
Her bir kanalı açıklamak için, aşağıda gösterildiği gibi gerekli özellikleri ayarlamanız gerekir.
agent_name.channels.channel_name.type = value 
agent_name.channels.channel_name. property2 = value 
agent_name.channels.channel_name. property3 = valueÖrneğin, düşünürsek memory channelYapılandırmak için değerler sağlamamız gereken özellikler aşağıdadır .
TwitterAgent.channels.MemChannel.type = memory (type name)Kaynağı ve Sink'i Kanala Bağlamak
Kanallar kaynakları ve alıcıları bağladığından, aşağıda gösterildiği gibi her ikisinin de kanala bağlanması gerekir.
agent_name.sources.source_name.channels = channel_name 
agent_name.sinks.sink_name.channels = channel_nameAşağıdaki örnek, kaynakların ve havuzların bir kanala nasıl bağlanacağını gösterir. Burada düşünüyoruztwitter source, memory channel, ve HDFS sink.
TwitterAgent.sources.Twitter.channels = MemChannel
TwitterAgent.sinks.HDFS.channels = MemChannelFlume Aracısının Başlatılması
Yapılandırmadan sonra, Flume ajanını başlatmalıyız. Aşağıdaki gibi yapılır -
$ bin/flume-ng agent --conf ./conf/ -f conf/twitter.conf 
Dflume.root.logger=DEBUG,console -n TwitterAgentnerede -
- agent - Flume ajanını başlatma komutu 
- --conf ,-c<conf> - conf dizinindeki yapılandırma dosyasını kullanın 
- -f<file> - Eksikse, bir yapılandırma dosyası yolu belirtir 
- --name, -n <name> - Twitter temsilcisinin adı 
- -D property =value - Bir Java sistem özelliği değeri ayarlar.