mplachter.flume
Rol de Ansible para desplegar y configurar Apache Flume
- Despliega Apache Flume
- Configura Apache Flume
- Crea el servicio
apache-flume
- Ejecuta solo configuración de agente
Requisitos
- En funcionamiento
- Ansible 2.3+
- Para pruebas
- Docker/Vagrant
- Molecule = 1.2.5
Variables del Rol
- Variables de Java
java_heap_xms: 125 java_heap_xmx: 250
- Variables de Apache Flume
mirror_url: http://apache.mirrors.ionfish.org/flume version: 1.7.0
- Variables de instalación de carpetas/rutas de Linux
download_path: /tmp installation_path: /usr/local owner: root group: root
- Variables de configuración de Apache Flume
- Por favor consulta la Guía del Usuario de Flume
- Actualmente la configuración permitirá
- Agentes
- El servicio solo será creado para
agente
- múltiple
- Necesitarás crear más servicios manualmente para ejecutarlos
- El servicio solo será creado para
- fuente
- Actualmente solo se permite una fuente por cada
agente
- Actualmente solo se permite una fuente por cada
- canal
- Actualmente solo se permite un canal por cada
agente
- Actualmente solo se permite un canal por cada
- sumideros
- múltiple
- grupo de sumideros
- Agregará todos los
sinks
en elagente
alsinkgroup
- Agregará todos los
- Agentes
- Debido a las altas posibilidades de configuración de Flume, por favor lee lo siguiente
- Sustituye "." por "_" en tu configuración de Flume para Nombres de Propiedad
- Los Valores No Necesitan la Sustitución
- Ejemplo
kafka_consumer_group_id: testflume
- Resultado
agent.source.kafka.consumer.group.id = testflume
- Sustituye "." por "_" en tu configuración de Flume para Nombres de Propiedad
- Puedes pasar la variable
apache_flume_config
para copiar la configuración- Ejemplo
apache_flume_config: file/flume-conf.properties
- Resultado
- Esto copiará el flume-conf.properties de tu directorio de archivos a las máquinas objetivo
- Ejemplo
- Variables extra
- Bibliotecas nativas de HDFS
hdfs_libs = true
- Esto descargará
Bibliotecas Nativas de HDFS
y las colocará enplugin.d/hdfs/native/
- Esto descargará
- Bibliotecas nativas de HDFS
- Ejemplo de variables
mirror_url: http://apache.mirrors.ionfish.org/flume version: 1.7.0 download_path: /tmp installation_path: /usr/local owner: root group: root java_heap_xms: 125 java_heap_xmx: 250 hdfs_libs: true agents: - name: agent source: name: kafkaSource type: org.apache.flume.source.kafka.KafkaSource kafka_consumer_group_id: flume kafka_consumer_auto_offset_reset: latest kafka_consumer_max_partition_fetch_bytes: 1048576 kafka_consumer_heartbeat_interval_ms: 3000 kafka_consumer_session_timeout_ms: 30000 kafka_consumer_request_timeout_ms: 40000 kafka_consumer_fetch_max_wait_ms: 500 kafka_bootstrap_servers: - 127.0.0.1:9092 - 0.0.0.0:9092 kafka_topics: - topic1 - topic2 channel: name: kakfaChannel type: memory capacity: 1000000 transactionCapacity: 100000 sinks: - name: kafkaHDFSSink1 type: hdfs hdfs_path: "s3n://GFGJFSHFJHFGFHSBJ:fdjhSFUYGSF65678+-saigfew123@hdfs/%{topic}/%y/%m/%d/%H" hdfs_filePrefix: FlumeData hdfs_inUseSuffix: .tmp hdfs_rollInterval: 30 hdfs_rollSize: 1024 hdfs_rollCount: 10 hdfs_idleTimeout: 0 hdfs_batchSize: 100 hdfs_fileType: "SequenceFile" hdfs_maxOpenFiles: 5000 hdfs_callTimeout: 10000 hdfs_threadsPoolSize: 10 hdfs_rollTimerPoolSize: 1 hdfs_round: false hdfs_roundValue: 1 hdfs_roundUnit: second hdfs_timeZone: Local Time hdfs_useLocalTimeStamp: false hdfs_closeTries: 0 hdfs_retryInterval: 180 - name: kafkaHDFSSink2 type: hdfs hdfs_path: "s3n://GFGJFSHFJHFGFHSBJ:fdjhSFUYGSF65678+-saigfew123@hdfs/%{topic}/%y/%m/%d/%H" hdfs_filePrefix: FlumeData hdfs_inUseSuffix: .tmp hdfs_rollInterval: 30 hdfs_rollSize: 1024 hdfs_rollCount: 10 hdfs_idleTimeout: 0 hdfs_batchSize: 100 hdfs_fileType: "SequenceFile" hdfs_maxOpenFiles: 5000 hdfs_callTimeout: 10000 hdfs_threadsPoolSize: 10 hdfs_rollTimerPoolSize: 1 hdfs_round: false hdfs_roundValue: 1 hdfs_roundUnit: second hdfs_timeZone: Local Time hdfs_useLocalTimeStamp: false hdfs_closeTries: 0 hdfs_retryInterval: 180 sink_group: name: sinkgroup1 processor_type: load_balance processor_backoff: false processor_selector: round_robin
Dependencias
- andrewrothstein.java-oracle-jre
Ejemplo de Playbook
- hosts: all
roles:
- role: mplachter.flume
Licencia
MIT
Información del Autor
Matthew Plachter
Instalar
ansible-galaxy install mplachter.flume
Licencia
mit
Descargas
516
Propietario
Let's Do Stuff & Things.