nifi(11)
-
Nifi Kerberos 연동절차
Nifi를 통해 HDFS에 파일을 저장하거나 Impala Query를 실행하거나 Hive 테이블에 데이터를 적재하는 등 Hadoop Cluster에 접근이 필요한 경우가 많다. 이 경우 kerberos만 없다면 xml파일만 있어도 Hadoop Cluster에 접근이 가능하지만 kerberos 가 존재 한다면 설정이 따로 또 필요하다. ##연동 절차 Kerberos workstation 설치 (yum을 통한 설치) kerberos keytab file, krb5.conf파일 요청 krb5.conf 받아서 /etc/krb5에 덮어쓰기 CM snipet에 해당 경로 등록 Nifi Cluster와 Ad 서버 방화벽 해제 /etc/hosts 에 AD 서버 등록 keytabfile이 있는 위치에서 다음 명령어 수행..
2020.06.12 -
NIFI Disk Guide, Disk Full일 경우 증상 및 예방 정책
나이파이에서 가장 중요한 것은 뭐니뭐니해도 DISK 관리이다. 중요한 이유는 성능 때문이다. 아무래도 FlowFileRepository, Provenance Repository, ContentRepository의 경우 각 각 Disk I/O 발생량이 많은데 세 Repository를 하나에 묶으면 그만큼 성능 저하가 일어나기에 무조건적으로 분산하여 각 각 마운트를 가져가야하며 특히 FlowFileRepository, ContentRepository의 경우 Raid를 권장합니다. Disk Recommand 환경 1. Recommand 환경 디스크 구성은 5 + N개(ContentRepository) Recommand 1. Logs, Nifi 설치파일 용도, Cloudera log 용도 등을 위한 Root 영..
2020.06.09 -
NIFI 모든 노드에 작업 분배하기 (Using ListSFTP -> RPG / Input Port -> FetchSFTP)
##Nifi 에서 Flow를 처음 구성하는 Processor가 Primary일 경우 Execution을 All nodes로 설정하여도 Primary에서만 작동하여 Nifi를 클러스터로 구성 하였을 경우 자원을 효율적으로 분배해 쓰지 못하는 단점이 있다. 이러한 문제를 해결해 주는 것이 NIFI 모든 노드에 작업을 분배 하도록 해주는 RPG를 활용하는 것이다. P가 있을 경우 오직 Primary node 에서만 실행이 가능하다. FetchSFTP와 PutSFTP를 모두 All nodes로 설정하였다 전부 Primary Node인 1번 노드에서만 실행된 것을 확인 할 수 있다. ##작업을 분배해주기 위한 Flow 생성 2번 캡쳐본 밖으로 나가면 1번과 같이 Connection을 설정하였다. 1번 캡쳐본 Ni..
2020.04.16 -
NIFI Flow 관리를 위한 Data Provenance event API 호출
##Flow example 위 FLOW에서 최종 Processor는 PUTSQL이다. 최종 Processor에서 FLOW가 끝났다는 것을 보장하기 위해서는 DROP과 SEND가 쌍으로 이루어져야 있어야한다. SEND의 의미가 RedShift로 Record값들을 보냈다는 것을 의미하고 SEND가 완료되면 NIFI에서 해당 데이터 셋을 DROP한다 그러나 SEND가 없이 DROP이 이루어 진다면 Record값이 PUT이 안된것으로 볼 수 있다. 해당값들을 파싱하여 볼 수 있도록 하는것이 이번 장의 목표이다. #1 Data provenance 확인 #2 Data Provenance REST API 호출 Command curl 'http://10.200.100.120:8080/nifi-api/provenance..
2020.04.07 -
Nifi를 통하여 File형태를 AWS Redshift에 LOAD
시나리오 설명 : DB의 Record값들이 갱신 될 때 그것을 SAM file 형태 로 내려받는 경우가 있다. 이 경우 File형태로 데이터가 쌓인것을 RedShfit로 옮겨야 하는 필요가 생긴다. #1 ListFTP Properties #1.1 ListFTP Remote Path File 내용 #2 FetchSFTP #3 ConvertCSVToAvro #3.1 Record schema { "name" : "myschema", "namespace" : "nifi", "type" : "record", "fields": [ {"name" : "no" , "type" : "int"}, {"name" : "userid" , "type" : "string"} ] } #4 PUT SQL ##중요 : Catalog ..
2020.04.07 -
Nifi를 통하여 AWS RedShift Connection 및 load data
Scenario1 : Nifi Cluster 내의 USER_info2 Table을 그대로 RedShift에 복제 전제조건 : Local 서버의 MariaDB내에 레코드들이 있어야하고 RedShift에는 MariaDB와 동일한 스키마가 정의 되어 있어야한다. MariaDB Redshift #1 QueryDatabaseTable 설정 1. Database Connection Pooling Service 설정 2. Table Name 설정 (Source) #1.1 HUE_DBPCConnectionPool #2 PutDatabaseRecord Property 1.Catalog Name과 Schema Name 반드시 입력해야합니다. #2.1 Database connection Pooling 설정 #2.2 AWS에..
2020.04.06