Asymmetrik.nifi
nifi
使用此角色配置Apache NiFi。 该角色已在NiFi版本1.3.x、1.4.x、1.5.x、1.6.x、1.7.x和1.8.x中进行测试。
要求
在执行此角色之前,目标系统上必须能够访问NiFi发行版,路径为
{{ nifi_base_dir }}/nifi-{{ nifi_version }}/
- 如果是RPM,必须已安装该RPM
- 如果是tar.gz,必须已解压缩
角色变量
必需变量
nifi_version
确定NiFi安装位置的变量及其默认值:
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
其他默认变量如下:
# 是否为NiFi服务用户创建主目录。默认值为true,以保留之前的功能,但对于新实例应设置为false。
nifi_create_home_dir: true
# 设置NiFi服务用户的默认Shell。仅在nifi_create_home_dir为true时生效。
nifi_default_shell: /bin/bash
# 在bootstrap.conf中指定-Djava.io.tmpdir,默认未指定
#nifi_tmp_dir: /tmp
# 设置为true以启用远程调试
nifi_enable_remote_debugging: False
nifi_remote_debugging_port: 8000
# 在更改后是否重新启动NiFi;默认值为True,对于集群,你可能希望禁用此项
nifi_perform_restart: True
# 是否强制重启,如果其他角色进行了更改(例如更新自定义nar),这很有用;默认值为False
nifi_force_restart: False
# NiFi集群中每个节点的完整IP地址列表
nifi_authorized_nodes_list: []
# nifi_extra_args是可以在NiFi中使用的键值对列表,例如:
nifi_extra_args:
- file.encoding: "UTF-8"
- environment: "{{ env }}"
# NiFi查找其他nars的目录列表。
nifi_custom_nars: []
nifi_node_jvm_memory: '1024m'
nifi_java_command: 'java'
# 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" ]
# NiFi集群设置
nifi_single_node: True
nifi_input_socket_host:
nifi_input_socket_port:
nifi_cluster_node_protocol_port:
nifi_web_http_port: 8080
# 队列交换设置
nifi_queue_swap_threshold: 20000
nifi_swap_in_threads: 1
nifi_swap_out_threads: 4
# 内容库设置
nifi_content_claim_max_flow_files: 100
nifi_content_claim_max_appendable_size: '10 MB'
nifi_content_archive_max_retention_period: '12 hours'
nifi_content_archive_max_usage_percentage: '50%'
nifi_content_archive_enabled: 'false'
nifi_content_always_sync: 'false'
# 源头设置:PersistentProvenanceRepository或VolatileProvenanceRepository
nifi_provenance_implementation: PersistentProvenanceRepository
nifi_provenance_max_storage_time: '24 hours'
nifi_provenance_max_storage_size: '1 GB'
nifi_provenance_rollover_time: '30 secs'
nifi_provenance_rollover_size: '100 MB'
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
# 状态库设置
nifi_components_status_repository_buffer_size: 1440
nifi_components_status_snapshot_frequency: '1 min'
# NiFi zookeeper设置
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 seconds'
nifi_zookeeper_autopurge_purgeInterval: 24
nifi_zookeeper_autopurge_snapRetainCount: 30
# 安全设置
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: ''
# 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: []
依赖
NiFi需要Java
示例剧本
安装和配置NiFi
- name: 安装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: 从本地主机上传NiFi发行版(tar.gz)
copy:
src: nifi-1.8.0-bin.tar.gz
dest: /opt/nifi
- name: 解压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
许可证
MIT