규턴의 개발블로그
article thumbnail
[NiFi] jdk 11 에서의 트러블 슈팅 및 메일을 보내다
data/nifi 2022. 10. 25. 14:17

NiFi 1.17.0에서 jdk 11버전에서의 실행시 문제가 있었다. 상황은 다음과 같다. java --version jdk-11 내가 실행하는 환경에서 java --version 명령어를 입력하면 다음과 같이 나왔었다. 하지만 1.17.0에서 nifi.sh start 실행 시 jdk-11.3.2 와 같이 '.'을 기준으로 jdk 버전을 바인딩 하고 있었다. 즉 jdk11은 에러가 나고 jdk11.x.x와 같이 되어 있어야 정삭적으로 nifi에서 바인딩 돼서 실행이 된다. 그래서 메일을 보냈다 대충 설명하자면 다른사람들도 이와같은 버그가 있었고 이를 추후에 이슈화하여 수정해준다는이야기이다. 추후에 바로 변경될지는 모르겠지만 오픈소스 개발자에게 직접 문의해서 해당 개발자가 오류를 인정하고 수정해주는 모습이..

article thumbnail
[NiFi] NiFi-Registry란?(NiFi와 Https 연동)
data/nifi 2022. 9. 2. 17:00

NiFi-Registry 우선 내가 생각하는 nifi-registry는 git과 비슷한거 같음 NiFi-process(processgroup)을 형상관리 한다고 생각하고 있다. Flow: Nifi-ProcessGroup들이 Nifi-registry 내에서 버전 컨트롤 및 save 등의 단위Bucket: Flow들을 저장하고 구성하는 한 컨테이너(nifi-registry내에서의 단위) 또한 NiFi-regsitry에서 사용자 권한을 주어 각 Bucket(github으로 따지면 하나의 repo?)에 권한부여를 줄 수 있음 설치 및 시작 https://nifi.apache.org/registry.html Apache NiFi Registry Copyright © 2022 The Apache Software F..

article thumbnail
[KafKa] 카프카 클러스터(Cluster)와 브로커(Broker)
data/kafka 2022. 9. 1. 14:59

브로커? 클러스터? 주키퍼? 브로커 브로커는카프카 클라이언트와 데이터를 주고 받기 위해 사용하는 주체입니다. 1대의 서버에는 하나의 브로커가 올라옵니다. 클러스터 클러스터는 다음사진과 같이 broker의 집합이라고 할 수 있습니다. 즉 cluster는 kafka의 broker를 관리하는 역할을 합니다.그러면 클러스터에는 여러개의 브로커가 존재하는데, 이렇게 많은 브로커를 운영하는 이유는 무엇일까요?바로 데이터를 안전하게 보관하기 위해서입니다. 예를들어 사진과 같이 Broker1, Broker2, Broker3은 같은 데이터를 가집니다. 즉 하나가 리더가 되어 나머지 Broker들을 복제합니다.해당 설명은 Kafka의 전체적인 구조를 설명하고 복제에 대해 자세하게 설명하겠습니다. 주키퍼 주키퍼는 Kafka..

article thumbnail
[KafKa] KafKa란?
data/kafka 2022. 8. 31. 15:45

KafKa가 생겨난 이유 초기 어플리케이션은 간단한 구조로 이루어져있었습니다. 하지만 급속도로 발전을 하면서 요즘 많이 들리는 MSA 아키텍쳐라고 한번쯤 들어보셨을 겁니다. 여러개의 어플리케이션이 서로 상호작용을 하며 구조가 점점 복잡해졌습니다. 다음 사진과 같이 말이죠. 이후 링크드인에서 카프카라는것을 만들어냅니다. 즉 데이터 흐름(flow)를 한곳에 모아 중앙관리 형태의 구조를 만들어냈습니다. 사진만 봐도 dataflow관점에서 확연한 차이가 나는것을 확인할 수 있습니다. MQ-메세지 큐 MQ는 들어본사람도 있고 들어보지 못한 사람도 있을겁니다. Message-Queue라고 하는데, 자료구조에서 Queue형태는 다들 아실거라고 생각합니다. FIFO(First-In-First-Out)이죠 kafka도 ..

article thumbnail
[IMDG] Redis vs Hazelcast
data/imdg 2022. 8. 17. 11:21

IMDG? IMDG란 In-momory-data-grid로 아래 사진과 같은 형태의 아키텍쳐 입니다. 다음 그림과 같이 여러개의 메모리를 grid 형태로 보관하며, 메모리를 데이터베이스와 같은 형식으로 사용하는것입니다. 당연히 memory를 데이터 베이스로 사용한다면 더 빠르다는 장점이 있습니다. 또한 예전에는 memory의 크기가 작다는 한계가 있었지만, 기술적인 발전으로 memory의 크기가 상대적으로 증가하고 위와 같은 형태의 여러개의 memory를 하나의 memory처럼 사용하여 빠른속도로 데이터를 read/write를 할 수 있습니다. IMDG 사용 예제 Hazelcast Terracotta Enterprise Suite VMware Gemfire Oracle Coherence Gigaspace..

article thumbnail
[NiFi]Nifi - GettingStarted
data/nifi 2022. 8. 16. 15:48

NIFI UI Components Toolbar: process, processgroup, template등을 관리할 수 있습니다. 이후 drag and drop 방식으로 canvas에 components toolbar에 존재하는것들을 등록할 수 있습니다. StatusBar: 현재 process 진행 상황에 대한 UI입니다. GlobalMenu: nifi 전역에 대한 설정들이 존재합니다. Search: 주로 process, processgroup에 대해 검색가능합니다. Operator Palatte: process, processGroup에 대해 시작 및 설정을 관리할 수 있습니다. NIFI connection 해당 사진에서 색깔박스는 process끼리 연결했을때 자동으로 생성됩니다. 각 process사..

article thumbnail
[NiFi] NiFi란?
data/nifi 2022. 8. 11. 17:55

NIFI? NiFi는 시스템간의 data flow engine입니다. 시스템간의 정보흐름을 자동화 할 수 있으며 UI를 통해 쉽게 구성하기에 dataflow를 한눈에 볼 수 있습니다. 가장 중요한 것은 data의 형식은 바뀔수 있어도 data자체의 내용은 유지하는것이 nifi의 핵심 사상입니다. NIFI Core Concept FlowFile information packet이라고도 하며 실제 데이터를 담은 파일을 의미합니다. attribute:content와 같은 key:value값으로 구성되어 있습니다. 다음과 같이 flowfile에 대한 정보와 content를 담고 있습니다. 실제로 view를 누르면 데이터를 확인할 수 있습니다. FlowFileProcessor BlackBox라고도 불리며, 실제 ..