Kafka 대상
이 항목에서는 Kafka 대상 커넥터를 사용하여 Kafka 대상에 대한 연결을 구성하는 방법을 설명합니다. Kafka는 복제 작업에서만 대상으로 사용할 수 있습니다.
Kafka을 대상으로 설정하려면 다음이 필요합니다.
- 전제 조건 충족
- Kafka 에 대한 연결 구성
연결 속성 설정
커넥터를 구성하려면 다음을 수행합니다.
-
연결에서 연결 만들기를 클릭합니다.
-
Kafka 대상 커넥터를 선택한 후 다음 설정을 제공합니다.
데이터 대상
데이터 게이트웨이
Amazon MSK로 데이터를 이동할 때, 데이터 이동 게이트웨이는 Amazon MSK가 Qlik Cloud에서 액세스할 수 없고 비공개 링크를 통해서만 액세스할 수 있는 경우에만 필요합니다(예를 들어, Virtual Private Cloud에 있는 경우). 이 경우, 대상 데이터베이스에 액세스하려는 데이터 이동 게이트웨이를 선택합니다. 사용 사례에 따라 이는 데이터 소스에서 데이터를 배포하기 위해 동일하거나 다른 데이터 이동 게이트웨이가 배포되어 있습니다.
Qlik Cloud에서 직접 액세스할 수 있는 Amazon MSK 인스턴스로 데이터를 이동하는 경우, 없음을(를) 선택합니다.
-
온프레미스 Kafka로 데이터를 이동하는 경우(아래 클라우드 공급자 참조), Kafka가 Qlik Cloud에서 직접 액세스 가능한지 여부와 관계없이 데이터 이동 게이트웨이를 선택해야 합니다.
-
데이터 이동 게이트웨이를 사용해야 하는 경우, 버전 2025.5.40 이상이 필요합니다.
데이터 이동 게이트웨이 사용 사례에 대한 자세한 내용은 데이터 이동 게이트웨이는 언제 필요합니까? 및 일반적인 사용 사례를 참조하십시오.
클라우드 공급자
온프레미스 Kafka를 사용하려면 없음을 선택하거나, Amazon MSK를 사용하려면 Amazon MSK를 선택합니다.
브로커 서버
다음 형식을 사용하여 하나 이상의 브로커 서버를 지정합니다(고가용성을 위해):
server1[:port1][,server2[:port2]]
예:
192.168.1.100:9092,192.168.1.101:9093
데이터 태스크는 첫 번째 사용 가능한 호스트에 연결됩니다. 포트 없이 호스트가 지정된 경우 포트 9092가 기본값으로 사용됩니다.
SSL 또는 Kerberos 인증을 사용할 때 브로커 FQDN을 지정해야 합니다(즉, IP 주소가 아님).
클러스터의 모든 브로커 서버는 데이터 이동 게이트웨이 시스템에서 액세스할 수 있어야 합니다. 하지만 에 있는 모든 서버를 지정할 필요는 없습니다. 브로커 서버 필드. 이는 데이터 이동 게이트웨이가 클러스터의 다른 서버에 대한 연결 세부 정보를 검색하기 위해 서버 중 하나에만 연결하면 되기 때문입니다. 따라서 작업이 실행될 때 가장 사용 가능성이 높은 서버를 지정하는 것이 모범 사례입니다. 데이터 작업이 메시지를 생성하는 서버는 토픽 및 파티셔닝 토픽, 그리고 파티셔닝 설정에 의해 결정됩니다.
계정 속성
인증 방법
다음 중 하나를 선택합니다.
- 없음: 인증 없음.
-
인증서: 이 옵션을 선택하면 다음 정보도 제공해야 합니다:
참고공개 및 개인 키 파일은 PEM 형식이어야 합니다.
- 공개 키 파일: PEM 형식의 공개 키 파일을 찾습니다. 저장을 클릭하면 파일이 Qlik Talend Cloud에 업로드되고 커넥터 설정에서 선택한 데이터 이동 게이트웨이에 배포됩니다.
- 개인 키 파일: PEM 형식의 개인 키 파일을 찾습니다. 저장을 클릭하면 파일이 Qlik Talend Cloud에 업로드되고 커넥터 설정에서 선택한 데이터 이동 게이트웨이에 배포됩니다.
- 개인 키 비밀번호: 개인 키 파일의 비밀번호입니다.
-
케르베로스 (SASL/GSSAPI): Kerberos를 사용하여 Kafka 클러스터에 대해 인증하도록 선택합니다.
정보 메모선택한 클라우드 공급자가 Amazon MSK인 경우 이 인증 방법은 사용할 수 없습니다.
- 주체: 브로커 서버에 대해 인증하는 데 사용되는 Kerberos 주체.
- 키탭 파일: 키탭 파일을 찾아봅니다. 저장을 클릭하면, 파일이 Qlik Talend Cloud에 업로드되고 커넥터 설정에서 선택된 데이터 이동 게이트웨이에 배포됩니다.
정보 메모Linux에서 Kerberos 인증을 사용하려면 Kerberos 클라이언트(워크스테이션) 패키지를 설치해야 합니다.
-
사용자 이름 및 비밀번호 (SASL/PLAIN): 사용자 이름 및 비밀번호(SASL/PLAIN)를 사용하여 자신을 인증하려면 이 옵션을 선택할 수 있습니다. 비밀번호가 평문으로 전송되는 것을 방지하려면 TLS 활성화 옵션도 활성화하는 것이 좋습니다.
정보 메모선택한 클라우드 공급자가 Amazon MSK인 경우에는 이 인증 방법을 사용할 수 없습니다.
-
사용자 이름 및 비밀번호 (SASL/SCRAM-SHA-256): 이 옵션을 선택하여 사용자 이름 및 비밀번호(SASL/SCRAM-SHA-256)를 사용하여 인증할 수 있습니다.
참고로, 이 옵션을 선택하면 각 브로커의 server.properties 파일이 해당 SASL/SCRAM 메커니즘으로 구성되어야 합니다.
정보 메모선택한 클라우드 공급자가 Amazon MSK인 경우 이 인증 방법은 사용할 수 없습니다.
-
사용자 이름 및 비밀번호 (SASL/SCRAM-SHA-512): 이 옵션을 선택하여 사용자 이름과 비밀번호(SASL/SCRAM-SHA-512)를 사용하여 자신을 인증할 수 있습니다.
이 옵션을 선택하면 각 브로커의 server.properties 파일이 해당 SASL/SCRAM 메커니즘으로 구성되어야 합니다.
SSL 옵션
TLS 활성화 (TLS 1.0, 1.1 및 1.2 지원)
Qlik Talend Cloud와 브로커 서버 사이의 통신을 암호화하려면 이 옵션을 선택합니다. 브로커가 SSL을 요구하도록 구성된 경우, 이 옵션을 반드시 선택해야 합니다.
-
CA 파일: PEM 형식의 CA 인증서를 찾아봅니다. 저장을 클릭하면, 파일이 Qlik Talend Cloud에 업로드되고 커넥터 설정에서 선택한 데이터 이동 게이트웨이에 배포됩니다.
정보 메모선택한 클라우드 공급자가 Amazon MSK인 경우 필요하지 않습니다.
메타데이터 메시지 게시
메타데이터 메시지 게시를 위해 스키마 레지스트리를 사용할 수 있습니다
드롭다운 목록에서 다음 중 하나를 선택합니다.
-
아니요
이 옵션을 선택하면 데이터 메시지만 게시됩니다.
-
Confluent 스키마 레지스트리
이 옵션을 선택하는 경우, 아래에 설명된 스키마 레지스트리 연결 속성도 구성해야 합니다.
-
Confluent 스키마 레지스트리 옵션은 Avro 메시지 형식만 지원합니다.
-
스키마 메시지를 데이터 메시지와 동일한 토픽에 게시하지 않도록 강력히 권장합니다.
-
토픽이 존재하지 않는 경우, 데이터 태스크가 런타임 중에 토픽을 생성할 수 있도록 auto.create.topics.enable=true로 브로커를 구성합니다. 그렇지 않으면 작업이 실패합니다.
메시지 형식
메시지 형식으로 JSON 또는 Avro를 선택합니다. Confluent schema registry를 선택한 경우 Avro 만 사용 가능한 옵션입니다.
스키마 레지스트리 연결 속성
스키마 레지스트리 서버
하나 이상의 스키마 레지스트리 서버를 다음 형식을 사용하여 지정합니다(고가용성을 위해):
Confluent 스키마 레지스트리에 데이터 스키마를 게시할 때:
server1:port1[,server2[:port2]]
192.168.1.100:8081,192.168.1.101:8081
데이터 태스크는 첫 번째 사용 가능한 호스트에 연결됩니다.
Hortonworks 스키마 레지스트리에 데이터 스키마를 게시할 때:
server1:port1[,server2[:port2]]
192.168.1.100:7788,192.168.1.101:7788
데이터 작업은 첫 번째 사용 가능한 호스트에 연결됩니다.
인증 방법
다음 Schema Registry 인증 옵션 중 하나를 선택합니다.
- 없음: 인증 없음.
-
Kerberos: Kerberos를 사용하여 인증하려면 선택합니다.
정보 메모Linux에서 Kerberos 인증을 사용하려면 Kerberos 클라이언트(워크스테이션) 패키지를 설치해야 합니다.
- 주체: Schema Registry에 대해 인증하는 데 사용되는 Kerberos 주체.
-
키탭 파일: 키탭 파일을 찾습니다. 저장을 클릭하면 파일이 Qlik Talend Cloud에 업로드되고 커넥터 설정에서 선택한 모든 데이터 이동 게이트웨이에 배포됩니다.
-
인증서: 인증서를 사용하여 인증하려면 선택합니다.
정보 메모이 옵션은 Confluent Schema Registry에 게시할 때만 지원됩니다.
이 옵션을 선택하는 경우 다음 정보도 제공해야 합니다.
- 공개 키 파일: PEM 형식의 공개 키 파일을 찾아봅니다. 저장을 클릭하면 파일이 Qlik Talend Cloud에 업로드되고 커넥터 설정에서 선택한 데이터 이동 게이트웨이에 배포됩니다.
- 개인 키 파일: PEM 형식의 개인 키 파일을 찾아봅니다. 저장을 클릭하면 파일이 Qlik Talend Cloud에 업로드되고 커넥터 설정에서 선택한 데이터 이동 게이트웨이에 배포됩니다.
- 개인 키 비밀번호: 개인 키 파일의 비밀번호입니다.
-
사용자 이름 및 비밀번호: 사용자 이름과 비밀번호로 인증하려면 선택하십시오. 그런 다음 사용자 이름 및 비밀번호 필드에 로그인 자격 증명을 입력하십시오.
정보 메모이 옵션은 Confluent Schema Registry에 게시할 때만 지원됩니다.
-
인증서 + 사용자 이름 및 비밀번호: 인증서와 사용자 이름 및 비밀번호를 모두 사용하여 인증하려면 선택합니다.
이 옵션을 선택하면 위에 설명된 공개 키 파일, 개인 키 파일, 개인 키 비밀번호, 사용자 이름 및 비밀번호 필드에 필요한 정보를 입력합니다.
정보 메모이 옵션은 Confluent Schema Registry에 게시할 때만 지원됩니다.
- TLS 활성화 (TLS 1.0, 1.1 및 1.2 지원): 이 옵션을 선택하여 데이터 이동 게이트웨이 머신과 스키마 레지스트리 서버 간의 데이터를 암호화합니다. 서버가 SSL을 요구하도록 구성된 경우, 이 옵션을 반드시 선택해야 합니다.
CA 파일: PEM 형식의 CA 인증서를 찾습니다. 저장을 클릭하면, 파일이 Qlik Talend Cloud에 업로드되고 커넥터 설정에서 선택된 데이터 이동 게이트웨이에 배포됩니다.
내부 속성
내부 속성은 특별한 사용 사례를 위한 것이므로 대화 상자에 표시되지 않습니다. Qlik 지원 팀에서 지시한 경우에만 사용해야 합니다.
필드 오른쪽에 있는 및
버튼을 사용하여 필요에 따라 속성을 추가하거나 제거합니다.
이름
연결의 표시 이름입니다.
전제 조건
Kafka를 대상으로 사용하기 전에 다음 전제 조건이 충족되어야 합니다.
-
데이터 작업이 대상 토픽에 쓸 수 있도록 허용하는 권한을 설정합니다. 이를 수행하는 한 가지 방법은 Kafka ACL 스크립트(kafka-acls)를 사용하는 것입니다.
-
데이터 작업을 시작하기 전에 attrep_apply_exceptions라는 토픽을 생성하거나 auto.create.topics.enable=true로 브로커를 구성합니다.
참고로, 이 토픽이 존재하지 않으면 오류 처리 정책과 관계없이 데이터 오류가 발생할 때 태스크는 항상 실패합니다.
attrep_apply_exceptions 제어 테이블에 대한 설명은 예외 적용을(를) 참조하십시오.
제한 사항 및 고려 사항
Kafka를 대상 커넥터로 사용하여 태스크를 정의할 때 다음과 같은 제한 사항이 적용됩니다.
-
지원되지 않는 태스크 설정:
-
Kafka 대상 커넥터는 무제한 LOB 크기를 지원하지 않습니다. 따라서 LOB 열이 있는 소스 테이블에서 데이터를 이동할 때, 무제한 LOB 크기 허용 옵션을 선택 하지 마십시오.
-
변경 내용 저장 모드는 지원되지 않습니다.
-
일괄 최적화 적용 모드는 지원되지 않습니다. Kafka는 항상 트랜잭션 적용 모드로 작동합니다.
- ALTER 무시 변경 내용 적용 설정은 소스 데이터 유형 변경 및 테이블 이름 변경에 대해 지원되지 않습니다.
- 대상 테이블 준비 필드의 테이블 삭제 및 생성 옵션은 지원되지 않습니다.
- 대상 테이블 준비 필드의 로드 전 잘라내기 옵션은 지원되지 않습니다.
- 변경 데이터 파티셔닝 제어 테이블은 지원되지 않습니다.
-
- 일반 제한 사항:
Kafka 토픽 이름은 공백을 포함하거나 255자(Kafka 0.10부터 249자)를 초과할 수 없으며 다음 문자만 포함할 수 있습니다.
a-z|A-Z|0-9|. (점)|_(밑줄)|-(빼기)
소스 테이블 이름이 허용된 최대 길이를 초과하거나 지원되지 않는 문자를 포함하는 경우, 작업을 시작하기 전에 이름을 수정하거나 전역 변환을 정의해야 합니다.
열 이름은 [A-Za-z_] (문자 또는 밑줄)로 시작해야 하며, [A-Za-z0-9_] (문자, 숫자 또는 밑줄)이 뒤에 이어져야 합니다. 예를 들어, _Test_는 유효한 열 이름이지만 &Test는 유효하지 않습니다.
소스 열 이름이 이 규칙을 따르지 않는 경우, 열 이름을 변경하기 위해 변환을 사용해야 합니다.
- 소스 테이블 삭제 또는 이름 변경은 지원되지 않습니다.
데이터 유형
다음 표는 Qlik Cloud를 사용할 때 지원되는 Kafka 데이터 유형과 Qlik Cloud 데이터 유형의 기본 매핑을 보여 줍니다.
JSON 메시지 형식을 사용할 때 이진 값은 16진수 숫자로 표현됩니다.
| Qlik Cloud 데이터 유형 | 스키마 메시지의 Kafka 대상 데이터 유형 |
|---|---|
|
DATE |
DATE |
|
TIME |
TIME |
|
DATETIME |
DATETIME |
|
BYTES |
BYTES(길이) |
|
BLOB |
BLOB |
|
REAL4 |
REAL4(7) |
|
REAL8 |
REAL8(14) |
|
INT1 |
INT1(3) |
|
INT2 |
INT2(5) |
|
INT4 |
INT4(10) |
|
INT8 |
INT8(19) |
|
UINT1 |
UINT1(3) |
|
UINT2 |
UINT2(5) |
|
UINT4 정보 메모
2^31-1보다 큰 값은 지원되지 않습니다. |
UINT4(10) |
|
UINT8 정보 메모
2^63-1보다 큰 값은 지원되지 않습니다. |
UINT8(20) |
|
NUMERIC |
NUMERIC(p,s) |
|
STRING |
STRING(길이) |
|
WSTRING |
STRING(길이) |
|
CLOB |
CLOB |
|
NCLOB |
NCLOB |
|
BOOLEAN |
BOOLEAN(1) |
JSON 및 Avro에 매핑
Avro 메시지 형식은 데이터 유형의 더 정확한 표현을 위해 논리적 유형을 사용합니다.
Qlik Cloud 데이터 유형은 특정 데이터 유형에 논리적 데이터 유형 사용 확인란이 선택된 경우에만 지원되는 Avro 논리적 데이터 유형에 매핑됩니다.
| Qlik Cloud 데이터 유형 | JSON | Avro 논리 데이터 유형 |
|---|---|---|
|
DATE |
STRING |
DATE Avro INT에 주석을 답니다. |
|
TIME |
STRING |
TIME-MILLIS Avro INT에 주석을 답니다. |
|
TIMESTAMP |
STRING |
TIMESTAMP-MICROS Avro LONG에 주석을 답니다. |
|
STRING |
STRING |
- |
|
WSTRING |
STRING |
- |
|
CLOB |
STRING |
- |
|
NCLOB |
STRING |
- |
|
NUMERIC |
STRING |
DECIMAL(p,s) Avro BYTES에 주석을 답니다. |
|
BYTES |
BYTES |
- |
|
BLOB |
BYTES |
- |
|
REAL4 |
FLOAT |
- |
|
REAL8 |
DOUBLE |
- |
|
INT1 |
INT |
- |
|
INT2 |
INT |
- |
|
INT4 |
INT |
- |
|
UINT1 |
INT |
- |
|
UINT2 |
INT |
- |
|
UINT4 |
LONG |
- |
|
INT8 |
LONG |
- |
|
UINT8 |
STRING |
DECIMAL(20,0) Avro BYTES에 주석을 답니다. |
|
BOOLEAN |
BOOLEAN |
- |
Confluent Cloud 사용하기
다음 섹션에서는 Confluent Cloud와 함께 작동하도록 Kafka 커넥터를 구성하는 방법을 설명합니다.
- Confluent Cloud에서 클러스터를 생성합니다.
- 클러스터 설정에서 부트스트랩 서버 값을 커넥터 설정의 일반 탭에 있는 브로커 서버 필드로 복사합니다.
- 커넥터 설정에서 인증 방법 드롭다운 목록에서 사용자 이름 및 비밀번호 (SASL/PLAIN) 를 선택합니다.
- Confluent 클러스터의 API 액세스 화면에서 API 키 쌍을 생성합니다.
- 키와 비밀을 Kafka 커넥터의 사용자 이름 및 비밀번호 필드에 각각 복사합니다.
- Kafka 커넥터 설정에서 TLS 활성화 옵션을 선택하고 CA 경로 필드에 CA 파일의 전체 경로를 지정합니다. CA 파일은 Confluent의 지침에 따라 생성되어야 하며, 모든 Confluent Cloud 인증서에 서명하는 CA와 해당 루트 CA 서명자를 포함해야 합니다.
이제 Confluent Cloud와 함께 작업할 모든 준비가 완료되었습니다.