Kubernetes 서비스를 사용하여 IBM® MQ 를 Event Streams 에 연결
IBM Cloud® Kubernetes Service 클러스터에서 실행할 Kafka Connect 런타임을 가져오십시오. 그런 다음 IBM MQ Source Connector를 시작하여 IBM MQ 소스 큐에서 Event Streams의 대상 Kafka 주제로 메시지를 복사하십시오.
IBM MQ 소스 커넥터는 IBM MQ 큐 관리자에 연결하고 MQ 큐에서 MQ 메시지 데이터를 이용합니다. 이 커넥터는 각 MQ 메시지를 Kafka 레코드로 변환하고 해당 메시지를 Event Streams Kafka 토픽에 전송합니다.
1단계. 전제조건 설치
다음 소프트웨어 및 서비스가 설치되어 있는지 확인하십시오.
-
Event Streams 인스턴스 - 표준 또는 엔터프라이즈 플랜.
-
IBM MQ on Cloud 또는 IBM MQ 버전 8이상의 인스턴스.
사용자 ID및 비밀번호를 사용하여 IBM MQ 로 인증하도록 IBM MQ 커넥터를 구성할 수 있습니다. MQ 브릿지의 인스턴스와 연관된 ID에만 다음 권한을 부여하는 것이 좋습니다.
- CONNECT 권한. IBM MQ 커넥터는 MQ 큐 관리자에 연결할 수 있어야 합니다.
- IBM MQ 커넥터가 이용하도록 구성된 큐에 대한 GET 권한입니다.
-
Kubernetes Service 클러스터입니다. 무료로 테스트 목적으로 프로비저닝할 수 있습니다.
클러스터에 대한 CLI 액세스도 필요합니다. 자세한 정보는 CLI 및 API 설치를 참조하십시오.
-
kubectl의 최신 버전
2단계. kafka-connect 저장소 복제
필수 파일이 있는 다음 두 개의 저장소를 복제하십시오.
3단계. Kafka Connect 구성 작성
-
이 구성은 한 번만 설정해야 합니다. Event Streams에서는 나중에 사용하도록 저장합니다.
event-streams-samples 프로젝트에서
kafka-connect/IKS directory로 이동하고connect-distributed.properties파일을 편집한 후<BOOTSTRAP_SERVERS>를 대체하십시오. 한 위치에서는 를, 세 위치에서는<APIKEY>를 Event Streams 신임 정보로 대체하십시오.<BOOTSTRAP_SERVERS>을(를) 쉼표로 구분된 목록으로 제공하십시오. 올바르지 않은 경우 오류가 발생합니다.<APIKEY>이(가) 시스템의 일반 텍스트에 표시되지만 Kubernetes Service(으)로 푸시할 때 시크릿입니다.안정성과 확장성을 이유로 Kafka Connect가 여러 작업자를 실행할 수 있습니다. Kubernetes Service 클러스터에 두 개 이상의 노드가 있고 여러 Connect 작업자가 필요한 경우
kafka-connect.yaml파일을 편집하고replicas: 1항목을 편집하십시오. -
그런 다음 다음 명령을 실행하십시오.
시크릿을 작성하려면 다음 명령을 실행하십시오.
kubectl create secret generic connect-distributed-config --from-file=connect-distributed.propertiesconfigmap을 작성하려면 다음 명령을 실행하십시오.
kubectl create configmap connect-log4j-config --from-file=connect-log4j.properties
4단계. Kafka Connect 배치
다음 명령을 실행하여 kafka-connect.yaml 파일에 구성을 적용하십시오.
kubectl apply -f ./kafka-connect.yaml
5단계. Kafka Connect가 실행 중인지 유효성 검증
Kafka Connect가 실행 중인지 유효성을 검증하려면 다음 예제에서와 같이 포트 8083의 kafkaconnect-service로 포트 전달하십시오.
kubectl port-forward service/kafkaconnect-service 8083
포트 전달에 사용한 터미널을 연 상태로 두고 다음 단계에 다른 터미널을 사용하십시오.
그런 다음 Connect REST API를 http://localhost:8083에서 사용할 수 있습니다. API에 대한 자세한 정보는 다음을 참조하십시오.
Kafka Connect REST 인터페이스.
따라서 이제 Kafka Connect 런타임이 Kubernetes Service에 배치되어 실행 중입니다. 다음으로 IBM MQ 커넥터를 구성하고 시작하십시오.
6단계. mq-source json 파일 구성
적어도 사용자 정보와 함께 필수 특성이 완성되도록 kafka-connect-mq-source/config에 있는 mq-source.json 파일을 편집하십시오.
mq-source.json 파일 특성
mq-source.json 파일의 플레이스홀더를 고유 값으로 바꾸십시오.
- 토픽
- 필수. 대상 Kafka 주제의 이름입니다.
- QUEUE_MANAGER
- 필수. 소스 IBM MQ 큐 관리자의 이름입니다.
- 큐
- 필수. 소스 IBM MQ 큐의 이름입니다.
- CHANNEL_NAME
- 필수입니다(바인딩 또는 CCDT 파일을 사용하는 경우 제외). server-connection 채널의 이름입니다.
- CONNECTION_NAME_LIST
- 필수입니다(바인딩 또는 CCDT 파일을 사용하는 경우 제외). 큐 관리자에 연결하는 데 필요한 하나 이상의 호스트(포트) 쌍의 목록입니다. 각 항목은 쉼표로 구분하십시오.
7단계. 해당 구성을 사용하여 커넥터 시작
다음 명령을 실행하여 이전 단계에서 제공한 구성으로 IBM MQ 커넥터를 시작하십시오.
curl -X POST -H "Content-Type: application/json" http://localhost:8083/connectors --data "@./mq-source.json"
8단계. 커넥터 모니터링
다음 주소로 이동하여 커넥터를 확인할 수 있습니다.
http://localhost:8083/connectors/mq-source/status
커넥터의 상태가 실행되지 않는 경우 커넥터를 다시 시작하십시오.