Asymmetrik.nifi
nifi
Utilisez ce rôle pour configurer Apache NiFi. Le rôle a été testé avec les versions de NiFi 1.3.x, 1.4.x, 1.5.x, 1.6.x, 1.7.x et 1.8.x.
Exigences
Avant d'exécuter ce rôle, la distribution NiFi doit être accessible sur le système cible à
{{ nifi_base_dir }}/nifi-{{ nifi_version }}/
- si c'est un RPM, le RPM doit être installé
- si c'est tar.gz, il doit être décompressé
Variables du rôle
Variables requises
nifi_version
Variables qui déterminent l'emplacement d'installation de NiFi et leurs valeurs par défaut :
nifi_base_dir: /opt/nifi
nifi_etc_dir: /etc/nifi
nifi_log_dir: /var/log/nifi
nifi_pid_dir: /var/run/nifi
nifi_home_dir: /home/nifi
Autres variables par défaut sont listées ci-dessous :
# Indique s'il faut créer un répertoire personnel pour l'utilisateur du service NiFi. Par défaut, c'est vrai pour préserver la fonctionnalité précédente, mais doit être défini sur faux pour de nouvelles instances.
nifi_create_home_dir: true
# Définit le shell par défaut pour l'utilisateur du service NiFi. N'a d'effet que si nifi_create_home_dir est vrai.
nifi_default_shell: /bin/bash
# spécifiez -Djava.io.tmpdir dans bootstrap.conf, la valeur par défaut n'est pas spécifiée
#nifi_tmp_dir: /tmp
# Mettez ceci à vrai pour activer le débogage à distance
nifi_enable_remote_debugging: False
nifi_remote_debugging_port: 8000
# Indique s'il faut redémarrer NiFi après avoir effectué des modifications ; par défaut, c'est vrai, pour un cluster, vous souhaiterez peut-être désactiver
nifi_perform_restart: True
# Indique s'il faut forcer un redémarrage, utile si un autre rôle a effectué des modifications (comme une mise à jour d'un nar personnalisé) ; par défaut, c'est faux
nifi_force_restart: False
# Une liste complète des adresses IP pour chaque nœud dans le cluster NiFi
nifi_authorized_nodes_list: []
# nifi_extra_args est une liste de paires clé/valeur mises à disposition dans NiFi, par exemple :
nifi_extra_args:
- file.encoding: "UTF-8"
- environment: "{{ env }}"
# Liste des répertoires où NiFi doit chercher des nars supplémentaires.
nifi_custom_nars: []
nifi_node_jvm_memory: '1024m'
nifi_java_command: 'java'
# valeurs par défaut des fichiers / répertoires pour NiFi
nifi_database_repository: "{{ nifi_home }}/database_repository"
nifi_flowfile_repository: "{{ nifi_home }}/flowfile_repository"
nifi_content_repositories: [ "{{ nifi_home }}/content_repository" ]
nifi_provenance_repositories: [ "{{ nifi_home }}/provenance_repository" ]
# Paramètres du cluster NiFi
nifi_single_node: True
nifi_input_socket_host:
nifi_input_socket_port:
nifi_cluster_node_protocol_port:
nifi_web_http_port: 8080
# Paramètres de swap de file d'attente
nifi_queue_swap_threshold: 20000
nifi_swap_in_threads: 1
nifi_swap_out_threads: 4
# Paramètres du référentiel de contenu
nifi_content_claim_max_flow_files: 100
nifi_content_claim_max_appendable_size: '10 MB'
nifi_content_archive_max_retention_period: '12 heures'
nifi_content_archive_max_usage_percentage: '50%'
nifi_content_archive_enabled: 'false'
nifi_content_always_sync: 'false'
# Paramètres de provenance : PersistentProvenanceRepository ou VolatileProvenanceRepository
nifi_provenance_implementation: PersistentProvenanceRepository
nifi_provenance_max_storage_time: '24 heures'
nifi_provenance_max_storage_size: '1 Go'
nifi_provenance_rollover_time: '30 secs'
nifi_provenance_rollover_size: '100 Mo'
nifi_provenance_query_threads: 2
nifi_provenance_index_threads: 2
nifi_provenance_repository_buffer_size: 100000
nifi_provenance_indexed_fields: EventType, FlowFileUUID, Filename, ProcessorID, Relationship
# Paramètres du référentiel d'état
nifi_components_status_repository_buffer_size: 1440
nifi_components_status_snapshot_frequency: '1 min'
# Paramètres de zookeeper de NiFi
nifi_zookeeper_servers: []
nifi_zookeeper_dir: /data/zookeeper
nifi_state_management_embedded_zookeeper_start: False
nifi_zookeeper_root_node: '/nifi'
nifi_zookeeper_session_timeout: '10 secondes'
nifi_zookeeper_autopurge_purgeInterval: 24
nifi_zookeeper_autopurge_snapRetainCount: 30
# Paramètres de sécurité
nifi_initial_admin:
nifi_is_secure: False
nifi_web_https_port: 8443
nifi_security_keystore: "{{ nifi_conf_dir }}/keystore.jks"
nifi_security_keystoreType: jks
nifi_security_keystorePasswd: ''
nifi_security_keyPasswd: "{{ nifi_security_keystorePasswd }}"
nifi_security_truststore: "{{ nifi_conf_dir }}/truststore.jks"
nifi_security_truststoreType: jks
nifi_security_truststorePasswd: ''
# Niveaux et paramètres de journalisation Logback
nifi_log_app_file_retention: 10
nifi_log_user_file_retention: 10
nifi_log_boot_file_retention: 10
nifi_log_level_root: INFO
nifi_log_level_org_apache_nifi: INFO
nifi_log_level_org_apache_nifi_processors: WARN
nifi_log_level_org_apache_nifi_processors_standard_LogAttribute: INFO
nifi_log_level_org_apache_nifi_controller_repository: WARN
nifi_log_level_org_apache_nifi_controller_repository_StandardProcessSession: WARN
nifi_log_level_org_apache_nifi_cluster: INFO
nifi_log_level_org_apache_nifi_server_JettyServer: INFO
nifi_log_level_org_eclipse_jetty: INFO
nifi_log_level_org_apache_nifi_web_security: INFO
nifi_log_level_org_apache_nifi_web_api_config: INFO
nifi_log_level_org_apache_nifi_authorization: INFO
nifi_log_level_org_apache_nifi_cluster_authorization: INFO
nifi_log_level_org_apache_nifi_bootstrap: INFO
nifi_log_level_org_apache_nifi_bootstrap_Command: INFO
nifi_log_level_org_apache_nifi_web_filter_RequestLogger: INFO
nifi_log_level_org_wali: WARN
nifi_custom_log_levels: []
Dépendances
NiFi nécessite Java.
Exemple de Playbook
Installer et configurer NiFi
- name: Installer NiFi
hosts: servers
vars:
nifi_log_level_root: WARN
nifi_node_jvm_memory: '10240M'
nifi_custom_nars: [ '/opt/extra-nars' ]
nifi_single_node: False
nifi_authorized_nodes_list: ['nifi-node-1', 'nifi-node-2']
pre_tasks:
- name: Télécharger la distribution de NiFi (tar.gz) depuis localhost
copy:
src: nifi-1.8.0-bin.tar.gz
dest: /opt/nifi
- name: Décompresser la distribution de NiFi
unarchive:
src: /opt/nifi/nifi-1.8.0-bin.tar.gz
dest: /opt/nifi
copy: no
roles:
- role: nifi
nifi_version: 1.8.0
Licence
MIT
Installer
ansible-galaxy install Asymmetrik.nifi
Licence
Unknown
Téléchargements
10.4k
Propriétaire
Asymmetrik is now BlueHalo, LLC. under github.com/bluehalo