이번 포스팅은 Docker를 이용한 NiFi 설치에 대해 작성하고자 한다.
Docker를 이용하면 Airflow든 NiFi든 손쉽게 설치가 가능하다는 게 정말 편리한 것 같다.
우선 설치 환경은 Windows이며, Docker for Desktop을 이용했다.
Docker 환경설정에 관한 내용은 예전에 작성해둔 포스팅을 참고하길 바란다.
Docker 환경 구성 (1)
Docker는 애플리케이션을 신속하게 구축, 실행을 위해 설계된 소프트웨어 가상화 컨테이너 플랫폼이며 컨테이너를 다른 환경으로 이동하는 등 유연하게 사용가능하다. Docker를 사용하면서 중요하
developer-trainee-j.tistory.com
Docker 환경 구성 (2)
Docker Desktop을 이용하여 간단하게 Docker를 사용해보려고 한다. 21년도 막바지에 Docker Desktop이 유료화 되면서 로컬환경에서 사용했던 Docker Desktop을 제거 한 후 centOS환경에 수동으로 설치를 해봤는
developer-trainee-j.tistory.com
1. NiFi 이미지 다운로드
Docker가 설치되어 있다면 NiFi 이미지를 다운로드 받아야 한다.
파워쉘에 다음과 같은 명령어를 입력해보자.
# nifi 설치 명령어
docker pull apache/nifi
# 혹시 특정 버전을 다운로드 받고 싶다면 뒤에 버전을 명시해주면 된다.
docker pull apache/nifi:1.27.0
docker images
이 명령어를 사용하면 docker가 다운로드 받은 이미지들을 확인할 수 있다.
docker for desktop에서는
더 쉽게 확인할 수 있다!
2. NiFi 컨테이너 띄우기
이제 이미지를 얻었으니 아래 명령어를 입력하여 이미지를 기반으로 컨테이너를 만들면 된다.
docker run -d --name nifi_container -e NiFi_WEB_HTTPS_PORT='8080' -p 8080:8080 -p 52020:52020 -p 8443:8443 -p 10000:10000 apache/nifi:latest
명령어를 살펴보면
"-d"는 백그라운드로 실행하는 옵션이고,
"-e"는 NiFi 환경 변수를 설정하는 옵션,
"-p"는 포트 포워딩을 하는 옵션이다.
내가 알기론 NiFi 1 버전은 기본 포트가 8080인걸로 알고 있는데 NiFi 2버전은 HTTPS를 사용하며 기본 보트가 8443이 된 것 같다. 그래서 NiFi_WEB_HTTPS_PORT='8080' 이 명령어를 넣어 주지 않으면 8080 포트로는 접속할 수 없다.
넣어주지 않았다면 8443포트로 접속하면 된다. 나는 혹시 몰라서 두 개의 포트 모두 포워딩을 해줬다.
52020 포트와 10000포트는 NiFi가 사용하는 것 같길래 그냥 포워딩을 해줬다~
이제 웹서버에 접속하면 되는데 Username과 Password를 입력하라고 나온다.
나는 따로 설정을 해주지 않았기 때문에 NiFi 컨테이너 로그를 확인해보면 기본 유저와 패스워드를 알 수 있다.
로그에 나와있는 대로 입력하면 끝이다.
마치며
이번 포스팅은 간단하게 Docker를 이용하여 NiFi를 띄우는 과정을 담았다.
포스팅 작성을 위해 하나 하나 다시 진행해보았는데 NiFi 웹서버 포트가 생각보다 속 썩였다...
분명 8080 포트가 기본 포트로 알고 있는데 접속이 안되었던 것이다.
그래서 이것 저것 찾아보니 8443 포트로 접속하거나 NiFi_WEB_HTTPS_PORT='8080' 환경 변수가 필요했고, 적용해보니까 잘 들어가졌다. 지금 사용하고 있는 NiFi가 1 버전이다 보니 뭔가 적응이 어려웠지만 그래도 유익했던 것 같다.
다음 포스팅은 InvokeHTTP를 이용한 데이터 수집을 다룰 것이다.
'NiFi' 카테고리의 다른 글
NiFi란 무엇인가? (0) | 2025.03.03 |
---|