데이터 이야기
공부하고 경험한 것들 차근차근 정리하자 :)
-
Kafka 브로커 재시작 프로세스 및 변화
카프카서버의 랙이전 작업을 하면서, 브로커 서버를 중지 후, 재시작하면서 작업한 내용 1. kafka 프로세스 중지 해당 브로커 서버에 있는 Leader Partition은 ISR의 Follower Partition로 leadership이 넘어가면서, producing / consuming 요청 처리에 문제 없음 Leader에서 Follower로 이전하는 과정에서는 Exception이 떨어질 수 있음 브로커 서버가 내려가자마자, 즉시 leadership이 변경되면서 Delay 없음 리더가...
-
[NiFi] NiFi을 이용한 Database 연동
NiFi 내에서 처리된 데이터를 Kafka, Hdfs, Local FileSystem, DB , Elasticsearch 등 다양한 sink에 넣어야하는 케이스가 있음 Elasticsearch 는 PutElasticsearchHttpRecord 프로세스 하나로 충분히 가능함 하지만 DB에 대해서는 Controller Service를 이용하여 DB Connection Pool를 관리하고, 이와 관련된 프로세서도 몇 개 있음 그 중 3개에 대한 프로세서를 정리하고자함. Database Connection Pooling Service...
-
[ELASTIC SEARCH] bulk api 사용시 고유id값 설정
Elasticsearch bulk api 사용시 고유 id 설정 filebeat와 logstash로 처리하던 프로세스의 불안정성과 비효율성이 있어, 로그를 직접 파싱하고 Bulk API를 통해 색인을 진행하려고 한다. 이 과정에서 index의 _id 필드가 중복의 발생할 경우, 제대로 데이터가 입력되지 않은 케이스가 있는 것을 발견 같은 인덱스, 같은 데이터에 대한 id 값을 주었을 때, 처음은 문서수가...
-
[ETC] curl 인증서와 함께 https rest-api 실행
Https / SSL로 인증이 필요한 웹서비스의 curl로 rest-api 요청하기 브라우저에 등록한 pkcs 파일을 이용하여 client cert, ca cert, client key 파일을 추출한다 pkcs 파일은 .pem파일의 암호화된 버전 같다.. (?) 추출한 인증서와 키를 옵션을 주고 curl 요청을 보낸다 인증서 및 키 추출 스크립트 인증서 Config의 keyStorePassword를 각 cert,key 추출할 때마다 입력해준다....
-
[NiFi] Throughtput 향상을 위한 작업들
NiFi에서 초당 처리량을 보장하면서, 시스템 리소스(CPU/Memory)를 효율적으로 사용하고자 진행했던 내용들 정리 요구사항 초당 약 5000건 이상의 로그데이터를 안정성이 있게 처리 안정성 : 초당 5000건 이상 처리하면서도, 시스템 리소스 효율적 사용 문제 상황 Kafka에서 로그 Consume하고, Validation 과 Parsing 하는 과정에서 Queue와 lag가 지속적으로 증가함 처리량 측면에서 실패… 유입되는 데이터양에 비해,...