본문 바로가기
OS/Linux

[Linux] Apache Nifi 사용법

by BTC_하동녹차 2023. 6. 7.

베하~! BTC_녹차공원 팀의 하동녹차 입니다.

이번주는 Apache Nifi에 대해 알아보겠습니다!

 

Apache Nifi 란?

Apache NiFi는 데이터 흐름을 자동화하고 데이터 이동, 변환 및 처리를 관리하기 위한 오픈 소스 데이터 통합 도구입니다. NiFi는 다양한 시스템 간에 데이터를 이동시키는 데이터 파이프 라인을 구축할 수 있습니다.

실시간 데이터 이동과 처리를 위한 기능을 제공하며, 안정성, 확장성 및 내결함성을 갖춘 아키텍처를 가지고 있습니다.

 

 

 

Apache Nifi 를 왜 사용할까?

Apache NiFi는 시각적이고 직관적인 사용자 인터페이스를 제공하여 사용자가 데이터 흐름을 시각적으로 설계하고 구성할 수 있습니다.이를 통해 사용자는 다양한 데이터 소스에서 데이터를 추출하고, 변환하며, 다양한 대상 시스템으로 데이터를 전송할 수 있습니다.


NiFi는 다양한 데이터 형식과 프로토콜을 지원하며, 실시간 데이터 흐름 모니터링, 데이터 프로세싱, 데이터 라우팅, 데이터 보안 등 다양한 기능을 제공합니다.  NiFi는 클러스터링을 통해 대량의 데이터 처리를 지원하고, 확장성과 고가용성을 제공합니다.

NiFi는 Apache 소프트웨어 재단(Apache Software Foundation)에서 개발 및 관리되며, 오픈 소스로 배포되어 있어 누구나 무료로 사용할 수 있습니다.

 

Apache NiFi는 다양한 사용 사례에서 유용하게 활용될 수 있습니다. 예를 들어, 로그 수집, 실시간 스트리밍 데이터 처리, 데이터 마이그레이션, 이벤트 기반 아키텍처 등의 분야에서 사용될 수 있습니다.

또한 NiFi는 다양한 프로토콜과 데이터 형식을 지원하며, 보안 및 인증, 데이터 흐름 모니터링, 오류 처리 등의 기능도 제공합니다.

 

요약하자면, Apache NiFi는 데이터 이동 및 처리를 자동화하기 위한 강력한 도구로, 시각적인 인터페이스와 확장 가능한 아키텍처를 통해 다양한 데이터 통합 시나리오에서 사용될 수 있습니다.

 

 

 

AWS EC2 Ubuntu20.04 LTS 에서 Apache Nifi  사용법 

0. EC2 보안그룹 설정

 

1. apt 업데이트

sudo apt update

 

2.jdk 설치

sudo apt install openjdk-11-jre-headless

 

3.JAVA_HOME 변수추가

export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64/
vi .bashrc
source .bashrc

 

4.nifi 1.12.1 version 설치

wget https://archive.apache.org/dist/nifi/1.12.1/nifi-1.12.1-bin.tar.gz

 

5.nifi 압축 해제

sudo tar -xvzf nifi-1.12.1-bin.tar.gz

 

 

6.nifi.sh 스크립트 파일 실행

cd nifi-1.12.1/bin
sudo ./nifi.sh start

 

 

7. nifi 접속

해당 EC2 서버의 ip:8080/nifi

 

여기까지 진행을 했다면 이제 Apache nifi 를 사용 할 준비가 완료 되었습니다!

 

이제 간단한 파일 변환 및 로그 기록 Nifi Processor 를 생성해보겠습니다.

1. 해당 파일의 경로를 찾아야하기 떄문에 GetFile Processor 를 사용

2. 그후 이름을 변경하기 위해 업데이트 UpdateAttribute Processor 를 사용

3. 원하는 경로에 저장하기 위해 Putfile Processor 를 사용

4. 파이썬 코드를 사용하기위해 Excute Script 를 사용

 

이렇게 구성을 하게되면 이제 원하는 파일을 읽어 오고 또 파이썬 코드를 활용하여 로그에 기록 할 수 있습니다.

 

 

이번주는 Apache Nifi 에 대해 알아보았는데요, 다음엔 더 재밌는 주제로 찾아오도록 하겠습니다.

이상 BTC_녹차공원 팀이였습니다!

베빠~!

'OS > Linux' 카테고리의 다른 글

[Linux]포트 이해하기  (0) 2023.06.26
[Linux]시스템 로그와 모니터링 이해하기  (0) 2023.06.12
Web - Was Mod_jk 연동  (0) 2023.06.07
Mod_proxy_ajp를 통한 web-was 연동  (0) 2023.05.31
[Linux]inode 이해하기  (0) 2023.05.29

댓글