- 단일 노드에 Nifi 1.27.0 을 설치합니다. 로그인 가능하도록 설정해봅니다.
- OS: Rocky Linux 9.4
JDK 11 설치
- 설치
sudo yum update -y
sudo yum install java-11-openjdk-devel wget -y
- 환경변수 설정
readlink -f /usr/bin/java
sudo vi /etc/profile
맨 마지막 줄에 아래 내용 추가
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.23.0.9-3.el9.x86_64
export PATH=$PATH:$JAVA_HOME/bin
- 환경변수 적용
source /etc/profile
- 환경변수 확인
echo $JAVA_HOME
Nifi 설치
- Nifi 다운로드 (https://nifi.apache.org/download/)
- 경로는 적절하게 잡아주시면 됩니다. opt 경로라고 가정합니다.
cd /opt
wget https://downloads.apache.org/nifi/1.27.0/nifi-1.27.0-bin.zip
- Nifi 설치
cd /opt
unzip nifi-1.27.0-bin.zip
mv nifi-1.27.0 nifi
- 환경변수 설정
echo 'export NIFI_HOME=/opt/nifi' >> ~/.bashrc
echo 'export PATH=$NIFI_HOME/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
- 기동 명령어
cd /opt/nifi/bin
./nifi start
./nifi stop
./nifi status
Nifi UI 로그인 설정
- 로그인 설정할 경우 https 설정을 해주어야 합니다.
- 인증서가 없어도 https:// 로 접속 가능합니다.
- 로그인 계정 셋팅
cd /opt/nifi/bin
./nifi.sh set-single-user-credentials <id> <pw>
- nifi.properteis 설정
- 위치는 /opt/nifi/conf 에 있습니다
- 저같은 경우는 Public IP로 외부에서 접속 가능하도록 공유기에 포트포워딩 설정을 해주었습니다.
- 이러한 경우가 아니라면 nifi.web.proxy.host 설정은 무시하시면 됩니다.
- nifi.web.proxy.host 설정은 사용자가 직접 치고 들어갈 URL 정보를 적어주시면 됩니다. 도메인이라면 도메인만 적고, IP:port 형식이면 IP:port 를 적어주면 됩니다.
- 예를 들어, public IP가 1.2.3.4 고 포트포워딩한 port가 28443이여서 외부 접속 시 https://1.2.3.4:28443 로 접근할 경우, 1.2.3.4:28443 을 적어주시면 됩니다.
#############################################
nifi.web.https.host=192.168.0.175 # 로컬 호스트 private ip
nifi.web.https.port=8443 # 포트
nifi.web.https.network.interface.default=
nifi.web.https.application.protocols=http/1.1
nifi.web.jetty.working.directory=./work/jetty
nifi.web.jetty.threads=200
nifi.web.max.header.size=16 KB
nifi.web.proxy.context.path=
nifi.web.proxy.host=<proxy IP>:<port> # 포트포워딩할 주소와 포트
nifi.web.max.content.size=
nifi.web.max.requests.per.second=30000
nifi.web.max.access.token.requests.per.second=25
nifi.web.request.timeout=60 secs
nifi.web.request.ip.whitelist=
nifi.web.should.send.server.version=true
nifi.web.request.log.format=%{client}a - %u %t "%r" %s %O "%{Referer}i" "%{User-Agent}i"
nifi.security.user.login.identity.provider=single-user-provider