2020. 3. 31. 22:02ㆍNifi
#목표 : Nifi Cluster(120~126)를 활용하여 외부 데이터베이스 (150번 MariaDB)의 테이블을 또다른 외부 데이터베이트(162번 MariaDB)로 테이블 복제
#전제 조건
1.162번 MariaDB에 150번 MariaDB 에서 가져올 DB와 Table에 대한 스키마가 미리 정의 되어 있어야한다.
2. Nifi Cluster의/etc/hosts 파일에 150번 서버와 162번 서버에 대한 서버 정보가 있어야한다. 또한 NifiCluster , 150,162번 서버는 서로 네트워크 통신이 서로 가능해야 한다.
3.Nifi 클러스터 모든 노드에 JDBC 드라이버가 설치 되어 있어야 합니다.
#1 QueryDatabaseTable property
1.Database Connection Pooling Service : 연결한 DB에 대한 URL과 JDBC 드라이버 위치, 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 Type은 AVRO이어서 AVRO로 설정 만약 다른
Reader가 필요하다면 Convert Processor를 실행해주자
#2-2 DatabaseConnectionPoolingService 설정
#3 결과 확인
기존에 테이블 데이터 셋이 없었지만 processor 를 실행 시킨뒤 데이터가 복제 되었다.
다음글에는 스키마를 미리 정의하지 않은 상태에서 Nifi클러스터에서 외부 스크립트를 호출하여 table creation이후에 복제하는 게시물 올리도록 하겠습니다~~
'Nifi' 카테고리의 다른 글
Nifi를 통하여 AWS RedShift Connection 및 load data (2) | 2020.04.06 |
---|---|
NIFI Rest API를 활용한 Processor 호출 및 Properties 변경 (1) | 2020.04.04 |
Nifi를 활용하여 RDB Table 복제 2 (0) | 2020.03.31 |
Nifi를 활용한 실시간 로그파일 Depth 별 수집 및 HDFS, AWS S3 저장 (2) | 2020.03.28 |
<Linux Centos7환경 Nifi 설치> (1) | 2020.03.23 |