Después de instalar Flume, necesitamos configurarlo usando un archivo de configuración, que es un archivo de propiedades de Java que tiene pares clave-valor… Necesitamos pasar valores a las claves en el archivo.
En el archivo de configuración de Flume, necesitamos:
Flume suele tener varios agentes. Podemos distinguir a cada agente por un nombre único. Y usando ese nombre, tenemos que personalizar cada agente.
En primer lugar, debe nombrar / enumerar los componentes, como fuentes, receptores y canales de agentes, como se muestra a continuación.
agent_name.sources = source_name agent_name.sinks = sink_name agent_name.channels = channel_name
Flume admite una variedad de fuentes, receptores y canales. Se enumeran en la siguiente tabla.
Fuentes | canales | Fregaderos |
---|---|---|
|
|
|
Puede utilizar cualquiera de ellos. Por ejemplo, si está transmitiendo datos de Twitter utilizando una fuente de Twitter a través de un canal de memoria a un receptor HDFS y la identificación del nombre del agente TwitterAgententonces
TwitterAgent.sources = Twitter TwitterAgent.channels = MemChannel TwitterAgent.sinks = HDFS
Después de enumerar los componentes del agente, debe describir la (s) fuente (s), sumidero (s) y canal (s) especificando sus valores de propiedad.
Cada fuente tendrá una lista separada de propiedades. Una propiedad llamada «tipo» es común a cada fuente y se usa para indicar el tipo de fuente que estamos usando.
Junto con la propiedad «tipo», debe especificar los valores de todos requerido propiedades de una fuente específica para personalizarla como se muestra a continuación.
agent_name.sources. source_name.type = value agent_name.sources. source_name.property2 = value agent_name.sources. source_name.property3 = value
Por ejemplo, si consideramos fuente en twitter, las siguientes propiedades, a las que deber proporcionar valores para configurarlo.
TwitterAgent.sources.Twitter.type = Twitter (type name) TwitterAgent.sources.Twitter.consumerKey = TwitterAgent.sources.Twitter.consumerSecret = TwitterAgent.sources.Twitter.accessToken = TwitterAgent.sources.Twitter.accessTokenSecret =
Como la fuente, cada destino tendrá una lista separada de propiedades. Una propiedad denominada «tipo» es común a cada fregadero y se utiliza para indicar el tipo de fregadero a utilizar. Junto con la propiedad «tipo», debe especificar valores para todos requerido propiedades específicas del receptor para configurarlo como se muestra a continuación.
agent_name.sinks. sink_name.type = value agent_name.sinks. sink_name.property2 = value agent_name.sinks. sink_name.property3 = value
Por ejemplo, si consideramos Fregadero HDFS, las siguientes propiedades, a las que deber proporcionar valores para configurarlo.
TwitterAgent.sinks.HDFS.type = hdfs (type name) TwitterAgent.sinks.HDFS.hdfs.path = HDFS directory’s Path to store the data
Flume proporciona varios canales para transmitir datos entre fuentes y receptores. Por lo tanto, junto con las fuentes y los canales, es necesario describir el canal utilizado en el agente.
Para describir cada canal, debe establecer las propiedades necesarias como se muestra a continuación.
agent_name.channels.channel_name.type = value agent_name.channels.channel_name. property2 = value agent_name.channels.channel_name. property3 = value
Por ejemplo, si consideramos canal de memoria, las siguientes propiedades, a las que deber proporcionar valores para configurarlo.
TwitterAgent.channels.MemChannel.type = memory (type name)
Dado que los canales conectan fuentes y receptores, debe vincular ambos a un canal como se muestra a continuación.
agent_name.sources.source_name.channels = channel_name agent_name.sinks.sink_name.channels = channel_name
El siguiente ejemplo muestra cómo vincular fuentes y receptores a un canal. Aquí consideramos Fuente de Twitter, canal de memoria, y Fregadero HDFS…
TwitterAgent.sources.Twitter.channels = MemChannel TwitterAgent.sinks.HDFS.channels = MemChannel
Después de la configuración, debemos iniciar el agente Flume. Esto se hace de la siguiente manera:
$ bin/flume-ng agent --conf./conf/ -f conf/twitter.conf Dflume.root.logger=DEBUG,console -n TwitterAgent
dónde –
agente – Comando para ejecutar el agente Flume
–conf, -c
-F <файл> – Indica la ruta al archivo de configuración, si falta
–nombre, -n <имя> – Nombre del agente de Twitter
-D propiedad = valor : Establece el valor de una propiedad del sistema Java.
🚫