차례
1. NiFi가 JVM 위에서 구동하기에, Java를 설치해야한다.
2. Java 설치 후에 NiFi를 설치한다.
3. NiFi는 HTTPS가Default
이므로 HTTP로 통신할 수 있도록 설정을 변경해야한다.
NiFi 설치 및 압축풀기
wget https://archive.apache.org/dist/nifi/1.24.0/nifi-1.24.0-bin.zip unzip nifi-1.24.0-bin.zip
시간이 지남에 따라 최신 버전이 나올 수 있으므로 링크를 걸어둠
NiFi
NiFi를 리눅스 표준 설치 위치인 /opt/nifi 로 이동
sudo mv nifi-1.24.0 /opt/nifi
이후, NiFi를 실행하기 위한 사용자 권한을 변경해준다.
sudo chown -R username:username /opt/nifi
- 여기서 username은
당신
의 이름
이 부분은 편의사항인데, nifi.sh 라는 실행파일을 편한 위치에 심볼릭 링크를 건다.
- 이를 통해 사용자가 편한 위치에서 nifi를 실행할 수 있다.
ln -s /opt/nifi/bin/nifi.sh /home/username/extools/
NiFi 실행
- 앞서 언급했듯이, NiFi는 HTTPS가 기본이다.
- 따라서 보안 이슈가 발생하는데, 일단 실행되는지 확인하는 차원이므로 넘어가고
실행이 되는지 확인한다.$ ./nifi.sh start $ ./nifi.sh stop
로그인까지 하고 싶다면,
$ cat /opt/nifi/logs/nifi-app.log
해당 로그에서 nifi 처음 동작 시 생성되는 ID, Password를 확인할 수 있다.
해당 명령줄는 NiFi의 설정 파일을 변경하는 명령줄이다.
sudo vi /opt/nifi/conf/nifi.properities sudo nano /opt/nifi/conf/nifi.properities
그 전에, 프로젝트 파일 구조
서버 구동 후 폴더 구조
nifi
├── bin - batch파일 이나 구동하는 shell파일 폴더
├── conf - 기본정보가 있는 폴더 nifi.properties등
├── content_repository - flowfile에서 사용하는 content 저장소
├── database_repository
├── docs - web ui html 및 doc관련 내용 폴더
├── extensions - 확장프로그램 저장소
├── flowfile_repository - nifi에서 생성한 dataflow 저장소
├── lib - nifi관련 nar, jar파일 폴더
├── logs - nifi 서버 구동 시 생성되는 user와 app로그 등이 여기 있음 (generated user id, password가 여기 존재)
├── provenance_repository - dataflow에서 사용하는 content중 검증된 내용이 여기에 저장되고, 사용됨
├── run - 서버 구동 정보
├── state
├── work
│ ├── docs - nifi processor에서 사용하는 components들이 있는 폴더
│ ├── jetty
│ ├── nar - 위에 docs에서 사용하는 compoenets들 nar파일 있는 폴더
├── LICENSE
├── NOTICE
└── README
위의 부분을 아래와 같이 변경한다.
- IP에 경우 개인이 설정한 IP로 변경한다.
- Port는 Named를 제외한 아무 Port로 설정한다.
설정 변경 후, VM 내에서 작동하는지 확인한다.
- 참고로 HTTP로 설정하면, 로그인 창이 나타나지 않는다.
외부에서도 사용할 수 있도록 PortForwarding을 진행한다.
작동하는지 확인한다.