Nifi를 활용하여 R-DB Table 복제 1

2020. 3. 31. 22:02Nifi

#목표 : Nifi Cluster(120~126)를 활용하여 외부 데이터베이스 (150MariaDB)의 테이블을  또다른 외부 데이터베이트(162MariaDB)로 테이블 복제

 

#전제 조건

1.162MariaDB150MariaDB 에서 가져올 DBTable에 대한 스키마가 미리 정의 되어 있어야한다.

2. Nifi Cluster/etc/hosts 파일에 150번 서버와 162번 서버에 대한 서버 정보가 있어야한다. 또한 NifiCluster , 150,162번 서버는 서로 네트워크 통신이 서로 가능해야 한다.

3.Nifi 클러스터 모든 노드에 JDBC 드라이버가 설치 되어 있어야 합니다.

 

 

#1 QueryDatabaseTable property

1.Database Connection Pooling Service : 연결한 DB에 대한 URLJDBC 드라이버 위치, DB유저 등을 설정

2.Database Type 설정

3.Table Name : 복사할 테이블 네임 설정 (student_tb)

 

#1-1 DBCPconnectionPool 생성 방법

nifi cluster에서 가져올 테이블(source) 정보 입력

Source 정보 : DB : test02, User : test02, Table : student_tb

 

#2 PutDatabaseRecord

 

#2-1 Record Reader 설정 

Avro, Json, XML Reader가 있다. Processor에서 기본 Record TypeAVRO이어서 AVRO로 설정 만약 다른

Reader가 필요하다면 Convert Processor를 실행해주자

 

#2-2 DatabaseConnectionPoolingService 설정

#3 결과 확인

기존에 테이블  데이터 셋이 없었지만 processor 실행 시킨뒤 데이터가 복제 되었다.

 

 

다음글에는 스키마를 미리 정의하지 않은 상태에서 Nifi클러스터에서 외부 스크립트를 호출하여  table creation이후에 복제하는 게시물 올리도록 하겠습니다~~