메뉴 건너뛰기

(*.155.195.240) 조회 수 305 추천 수 0 댓글 0
Atachment
첨부 '3'
?

단축키

Prev이전 문서

Next다음 문서

가 크게 작게 위로 아래로 댓글로 가기
Extra Form
출처 https://magpienote.tistory.com/139

Nifi란?

  • Apache Nifi는 시스템 간 데이터 전달을 효율적으로 처리, 관리, 모니터링 하기에 최적화 된 시스템임. 대량의 데이터 수집, 처리가능
  • Dataflow를 쉽게 구성이 가능하며, 시스템 간의 데이터 이동과 내용을 볼 수 있는 UI제공
  • 강력한 자원과 권한 관리를 통해 Multi-tenant(단일로 여러 소프트웨어에 공급하는 것)지원
  • 데이터 어느 시스템으로 왔는지 추적 가능
  • NiFi 시스템 간 통신 지원(site to site)

Nifi 구성요소

1.png

  • FlowFile, Processor, Connection, Controller이 대게 네 가지로 이루어짐
  • FlowFile - NiFi가 인식하는 데이터 단위
    • 일반적인 데이터 Content/Attributes로 나뉨
    • Content는 데이터 자체를 말함
    • Attribute는 데이터와 관련된 정보를 키/값 쌍으로 표현 한 것이다.
  • Processor - FlowFile을 수집, 변형, 저장하는 기능
    • 처리 이후에 또다른 FlowFile을 만들어 낼수도 있다.
    • Processor는 여러개가 병렬적으로 동작 할 수 있다.
  • Conector - Processor와 Processor를 연결 및 FlowFile을 전달하는 역할
    • FlowFile의 Queue를 의미함
    • 우선순위 조정 및 backpressure를 설정해 부하를 조절 할 수 있다.
  • Flow Controller - 각 프로세스간의 연결, 그 사이에 오가는 FlowFile에 대해서 관리

Nifi 아키텍처

2.png
  • web server - UI 웹 서버를 통해 제공, 개발자 혹은 관리자는 이를 이용해 DataFlow개발, 제어 모니터링 가능
  • Flow Controller - Processor 가 어느 간격 또는 시점에 실행 되는지 스케쥴링을 담당
  • Extension - NiFi가 제공하는 기본 Processor들 이외에 개발자가 Process를 개발해 확장이 가능
  • Flow Controller - Write-Aheade-Log로 FlowFile의 속성과 상태값을 저장하는 곳, 시스템 장애시 데이터가 유실 되지 않도록 주의
  • Content Repository - FlowFile의 데이터(Content)가 저장되며, 여러 디렉토리에 분석 저장이 가능 대용량 데이터 처리에 용의
  • Provenance Repository - 데이터의 처리 단계별로 FlowFile 데이터를 보관하는 곳으로, 여러 디스크를 지원한다. 이 때 각 데이터는 인덱스 검색 할 수 있다.

ZooKeeper 연동

3.png
  • Cluster Coordinator - 각 NiFi서버들의 정보를 관리, DataFlow의 추가, 수정, 삭제 등의 변경을 클러스터에 등록된 NiFi노드들에 복제 해준다.
  • Primary Node - 여러 노드에서 Processor가 실행 되지 않고, 특정 단일 노드에서만 실행하고자 할 때 사용하는 대표 노드
  • ZooKeeper Server - 위와 같은 역할은 ZooKeeperServer에서 자동으로 선출 되며, NiFi1.0부터 Zero-MasterClustering 이 적용되어 클러스터 내에 NiFi 노드들 중 한대가 자동으로 Cluster Coordinator와 Primary Node가 된다.

List of Articles
번호 제목 날짜 조회 수
76 테라폼(Terraform) - 개념, 장점, 관리툴 file 2024.10.01 246
75 Elasticsearch, Apache Lucene( 아파치 루씬 ) 기반의 Java 오... file 2024.09.22 320
» Apache Nifi 의 구성요소, 아키텍쳐 file 2024.09.22 305
73 아파치 카프카(Apache Kafka)는 분산형 스트리밍 플랫폼 file 2024.09.22 296
72 쿠버네티스 시작하기 - Kubernetes file 2024.09.21 263
71 [NCP] VPC Peering file 2024.09.21 244
70 [AWS] VPC Peering file 2024.09.21 246
69 CIDR을 통해 알아보는 서브넷 마스크와 IP 클래스 2024.09.21 245
68 클라우드(Cloud) vs. 온프레미스(On-premise) file 2024.09.16 333
67 VPN(가상사설망) 프로토콜 비교 : SSL/L2TP/IPSec/PPTP file 2024.09.16 250
66 [Spring Cloud] 스프링 클라우드 란 무엇인가요? file 2024.08.30 238
65 {개발자}로 자라기 – 쿠버네티스, 왜 배워야 할까? file 2024.08.30 281
64 오토스케일링(Auto Scaling)이란? (AWS, 클라우드) file 2024.07.09 213
63 Docker 이해하기 -2 : 컨테이너 라이프 사이클 & CLI 이해하기 file 2024.07.08 240
62 Docker 이해하기 -1 : 기초 이론(아키텍처, 흐름, 주요 용어) file 2024.07.08 202
61 정부원격근무서비스(GVPN)를 통한 통합운영관리시스템(nTOPS, n... file 2024.06.14 470
60 국가정보자원관리원(NIRS) G클라우드 소개 file 2024.06.14 399
59 RHEV 4.0 Hypervisor 설치 방법 file 2024.06.14 249
58 클라우드에 'MSA' 적용이 필요한 이유 file 2024.05.29 306
57 MSA (Micro Service Architecture)란? 2024.03.15 250
목록
Board Pagination Prev 1 2 3 4 Next
/ 4