〇Apache NiFiの画面
〇インストール方法
1.下準備
~/.ansible.cfgに以下の内容を設定します
[ssh_connection]
pipelining=True
[defaults]
host_key_checking = False
2. インストール対象ホストのユーザやパスワードを環境に合わせてinventoryファイルに記入します
inventory例
[nifi-pg]
192.168.55.61
[all:vars]
ansible_ssh_port=22
ansible_ssh_user=vagrant
ansible_ssh_pass=vagrant
ansible_sudo_pass=vagrant
3.inventory、kanboard.ymlを準備し、以下のコマンドを実行します。
ansible-playbook -i inventory nifi-pg.yml
nifi-pg.yml
- hosts: nifi-pg
vars:
- dbname: test
- dbuser: test
- dbpassword: test
tasks:
- name: configure sources.list
blockinfile:
dest: /etc/apt/sources.list.d/pgdg.list
create: yes
block: |
deb http://apt.postgresql.org/pub/repos/apt/ bionic-pgdg main
become: true
- name: add an apt key
apt_key:
url: https://www.postgresql.org/media/keys/ACCC4CF8.asc
state: present
become: yes
- name: install packages
apt:
name: ca-certificates
state: latest
become: yes
- name: Install required software
apt: name={{ item }} state=latest
with_items:
- postgresql-10
- libpq-dev
- python-dev
- python-pip
become: true
- name: install psycopg2 using pip
pip:
name: "{{ item }}"
state: forcereinstall
with_items:
- psycopg2-binary
become: true
- name: configure postgresql.conf
blockinfile:
dest: /etc/postgresql/10/main/postgresql.conf
create: yes
block: |
listen_addresses='*'
become: true
- name: edit pg_hba.conf
replace: dest=/etc/postgresql/10/main/pg_hba.conf regexp="host.*all.*all.*127.0.0.1" replace="#host all all 127.0.0.1"
become: true
- name: edit pg_hba.conf
replace: dest=/etc/postgresql/10/main/pg_hba.conf regexp="^host.*all.*all.*::1/128.*ident" replace="host all all ::1/128 password"
become: true
- name: configure postgresql.conf
blockinfile:
dest: /etc/postgresql/10/main/pg_hba.conf
create: yes
block: |
host all all 127.0.0.1/32 password
host all all 192.168.1.0/24 password
host all all 192.168.55.0/24 password
become: true
- name: enable and start postgresq.service
systemd:
daemon_reload: yes
enabled: yes
state: started
name: postgresql.service
become: true
- name: create PostgreSQL user
postgresql_user:
name: "{{ dbuser }}"
password: "{{ dbpassword }}"
login_user: postgres
encrypted: yes
become: true
become_user: postgres
- name: create a database
postgresql_db:
name: "{{ dbname }}"
owner: "{{ dbuser }}"
encoding: 'UTF-8'
lc_collate: 'ja_JP.UTF-8'
lc_ctype: 'ja_JP.UTF-8'
template: 'template0'
login_user: postgres
become: true
become_user: postgres
- name: download jdbc driver
get_url:
url: https://jdbc.postgresql.org/download/postgresql-42.2.4.jar
dest: /usr/share/java
become: true
- name: configure limits.conf
blockinfile:
dest: /etc/security/limits.conf
create: yes
block: |
* hard nofile 50000
* soft nofile 50000
* hard nproc 10000
* soft nproc 10000
become: true
- name: Install openjdk
apt: name={{ item }} state=present
with_items:
- openjdk-8-jdk
become: true
- name: download nifi
get_url:
url: http://ftp.riken.jp/net/apache/nifi/1.7.1/nifi-1.7.1-bin.tar.gz
dest: /opt
become: true
- name: extract nifi
unarchive:
remote_src: yes
src: /opt/nifi-1.7.1-bin.tar.gz
dest: /opt/
become: true
- name: setup systemd
blockinfile:
dest: /etc/systemd/system/nifi.service
create: yes
block: |
[Unit]
Description=Apache Nifi
After=syslog.target network.target
[Service]
Type=forking
ExecStart=/opt/nifi-1.7.1/bin/nifi.sh start
ExecStop=/opt/nifi-1.7.1/bin/nifi.sh stop
KillMode=none
[Install]
WantedBy=multi-user.target
become: true
- name: clean up
file:
state: absent
path: /opt/nifi-1.7.1-bin.tar.gz
become: yes
- name: enable and start nifi.service
systemd:
daemon_reload: yes
enabled: yes
state: started
name: nifi.service
become: true
4.DBCPConnectionPoolで、以下のようにパラメータを設定してローカルのPostgreSQLにアクセスします。
Database Connection -> URL jdbc:postgresql://localhost:5432/test
Database Driver Class Name -> org.postgresql.Driver
Database Driver Location(s) -> /usr/share/java/postgresql-42.2.4.jar
Database User -> test
Password -> test
○関連情報
・Apache NiFiに関する他の記事はこちらを参照してください。
・psycopg2に関する他の記事はこちらを参照してください。
・その他のAnsibleの記事
0 件のコメント:
コメントを投稿