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サービスユーザーのデフォルトシェルを設定します。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が追加のNARを探すためのディレクトリのリスト。
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

プロジェクトについて

This role is used to install and configure Apache NiFi

インストール
ansible-galaxy install Asymmetrik.nifi
ライセンス
Unknown
ダウンロード
10.4k
所有者
Asymmetrik is now BlueHalo, LLC. under github.com/bluehalo