본문 바로가기

Apache

NIFI 사용

1. NIFI 웹 구성 요소 - Components Toolbar

Components Toolbar

        NiFi에서 사용하는 컴포넌트들이 있다. 이 컴포넌트를 클릭하여 드래그&드롭으로 캔버스에 컴포넌트를 등록시킬 수 있다.

Status Bar

        NiFi의 현재 상황을 볼 수 있다. 실행되고 있는 태스크, 프로세스 개수 정보와 오류 정보, 클러스터 노드 정보 등을

        제공한다.

Search

        NiFi에 등록된 Processor, Connection을 검색할 수 있다.

Operate Palette

        NiFi 컴포넌트들의 설정, 활성화/비활성화, 시작/멈춤, 템플릿 생성/등록, 컴포넌트 복사/붙여넣기, Processor Group ,

        컴포넌트 색 변경, 컴포넌트 삭제 기능을 제공한다. 캔버스에서 컴포넌트를 선택하면, 상황에 따라 버튼들이 비활성화 된다.

        Shift + 선택 또는 Shift + 선택영역 드래그를 통해 여러 개의 컴포넌트를 선택할 수 있다.

 

2. NIFI 웹 구성 요소 - Global Menu

-Summary
     NiFi에 등록된 컴포넌트들을 종합적으로 보고, 검색할 수 있다.
-Counter
     MapReduce의 카운터와 유사한 기능으로 특정 Processor에서 발생시키는 카운트 정보를 제공한다.
-Bulletin Board
     시스템의 문제 등을 볼 수 있다.
-Data Provenance
     데이터를 추적할 수 있다.
-Controller Settings
     FlowFile Controller의 설정(쓰레드 개수)DB Poll, Cache 서비스와 같은 컨트롤러 서비스를 관리 한다.
-Flow Configuration History
     FlowFile의 등록, 삭제, 변경 등의 이력을 제공한다.
-Users, Policies
     사용자 및 권한을 관리 한다. NiFiSSL 인증서 기반의 인증(X.509)을 제공하는데, 인증 시스템이 활성화된 경우에만 메뉴가 보인다.
Templates
     Processor와 그 들의 연결 정보인 Connection 컴포넌트를 속성까지도 유지 한 체 템플릿화 할 수 있는데, 이렇게 등록된 템플릿을 조회하고, 내려받을 수 있는 기능을 제공한다.
-Help
     도움말을 제공한다.
-About
     NiFi 버전 정보를 제공한다.

 

3. NIFI Processor 등록 및 연결

-데이터베이스에서 데이터를 조회하고 인덱스를 생성 하는 것을 NIFI를 이용해서 만드는 과정을 간단 하게 설명 한다.
-인덱스 삭제 -> 데이터 조회 -> JSON형식으로 변환 -> 배열로된 JSON파일을 여러 개의 FlowFile로 분할 -> 인덱스 생성
 

 

 

4. NIFI Processor 등록 및 연결 ExecuteSQL 등록

-Processor등록을 위해서 Processor 아이콘을 드래그&드랍 하면 아래오 같은 팝업창이 나오고, 다양한 소스를 선택 할 수 있다.
-database 데이터를 읽어서 Elasticsearch 서버에 인덱스를 만드는 작업을 하기 위해서 먼저 database 데이터를 읽어오는 ProcessorADD 한다.

 

5. NIFI Processor 등록 및 연결 - ExecuteSQL 설정

-SETTINGS 탭에서 중요 한 부분은 Automatically Terminate Relationships부분이다.

 

-failure, success를 체크 하게 되어 있는다.
-선택을 한 것에 대해서 Processor를 종료 한다는 뜻이다. failure, success에 따라서 다음 Processor를 진행 할때 체크를 하지 않는 부분에 대해서 다음이 실행된다.

 

-SCHEDULING탭에서 스케줄을 설정 할 수 있다.
-시간 간격을 지정 할 수 있고, Cron형식으로 지정 할 수도 있다.
-0으로 해두게 되면 이전 Processor가 실행되고 Queue에 데이터가 쌓이면 실행된다.

 

-데이터베이스 연결 정보를 입력 한다. “->” 표를 클릭 하게 되면 연결 정보를 입력 할 수 있다.
-쿼리를 입력 하고 Flow File에 저장할 데이터 수를 지정 한다. 대용량 데이터를 처리 할 경우 여러 개로 나누어 처리 할 수 있게 한다.

 

6. NIFI Processor 등록 및 연결 - ConvertAvroToJSON 설정

-데이터베이스 연결 정보를 입력 한다. “->” 표를 클릭 하게 되면 연결 정보를 입력 할 수 있다.
-쿼리를 입력 하고 Flow File에 저장할 데이터 수를 지정 한다. 대용량 데이터를 처리 할 경우 여러 개로 나누어 처리 할 수 있게 한다.

 

7. NIFI Processor 등록 및 연결 - SplitJson 설정

-데이터베이스 연결 정보를 입력 한다. “->” 표를 클릭 하게 되면 연결 정보를 입력 할 수 있다.
-쿼리를 입력 하고 Flow File에 저장할 데이터 수를 지정 한다. 대용량 데이터를 처리 할 경우 여러 개로 나누어 처리 할 수 있게 한다.

 

8. NIFI Processor 등록 및 연결 - PutElasticsearchHttp 설정

-데이터베이스 연결 정보를 입력 한다. “->” 표를 클릭 하게 되면 연결 정보를 입력 할 수 있다.
-쿼리를 입력 하고 Flow File에 저장할 데이터 수를 지정 한다. 대용량 데이터를 처리 할 경우 여러 개로 나누어 처리 할 수 있게 한다.

 

'Apache' 카테고리의 다른 글

Apache jmeter를 이용한 ElasticSearch 성능 테스트  (0) 2023.04.19
NIFI 설치  (0) 2023.04.07
NIFI 란?  (0) 2023.04.07