2.x 계열 설치 절차다. 1.x 와 요구사항·기본 동작이 다르므로 섞어 쓰지 말 것. 1.x 는 NiFi 1.x 설치 를 볼 것.
| 항목 | 값 |
|---|---|
| Java | 21 |
| 기본 프로토콜·포트 | HTTPS 8443 (nifi.web.https.port) |
| 보안 미설정 시 바인딩 | 127.0.0.1 — 루프백으로만 접근된다 |
1.x 는 Java 8/11 이었다. 2.x 로 올릴 때 JDK 부터 21 로 맞춰야 한다.
https://nifi.apache.org/download/ 에서 바이너리를 받는다.
설치할 위치에 풀고, <installdir>/conf 아래 설정을 손본다.
tar -xzf nifi-2.8.0-bin.tar.gz -C /home/nifi/apps
ln -s /home/nifi/apps/nifi-2.8.0 /home/nifi/nifi
최소한 nifi.properties 의 nifi.sensitive.props.key 에 암호를 넣어야 한다. 공식 문서가 최소 설정으로 지정한 항목이다.
nifi.sensitive.props.key=<임의의 긴 문자열>
이 값을 나중에 바꾸면 기존에 암호화해 둔 프로세서 속성을 못 읽는다. 처음에 정할 것.
기본 인증은 Single User 다. 설정하지 않으면 기동할 때 36자 UUID 사용자명과 32자 난수 암호가 자동 생성되어 nifi-app.log 에 남는다. 직접 정하려면:
./bin/nifi.sh set-single-user-credentials <username> <password>
./bin/nifi.sh start # 백그라운드 기동
./bin/nifi.sh status # 상태 확인
./bin/nifi.sh stop # 종료
./bin/nifi.sh run # 포그라운드 기동 (Ctrl-C 로 종료)
접속은 https://<host>:8443/nifi 다. 보안 설정 없이 띄우면 루프백으로만 붙으므로, 다른 장비에서 접속하려면 TLS 설정을 해야 한다.
| 바뀐 것 | 내용 |
|---|---|
| Java | 8/11 → 21 |
| 템플릿 | 제거됨. nifi.templates.directory 없음. 템플릿으로 흐름을 옮기던 방식은 못 쓴다 |
| NiFi Registry | 동작은 하나 폐기(deprecated). 3.0 에서 제거 예정 |
템플릿을 쓰고 있었다면 1.x 에서 흐름 정의를 먼저 빼내야 한다. 2.x 로 올린 뒤에는 템플릿 파일을 읽을 수단이 없다.
검증: 미확인 — 1.x → 2.x 실제 업그레이드 절차(설정 이관, flow.json.gz 호환성)는
공식 문서에서 확인하지 못했다. 운영 이관 전에 직접 확인할 것.
| 파일 | 내용 |
|---|---|
logs/nifi-app.log |
애플리케이션 메시지. 자동 생성된 자격 정보도 여기 |
logs/nifi-bootstrap.log |
기동·종료 |
logs/nifi-request.log |
HTTP 요청 |
logs/nifi-user.log |
인증·인가 |