2017-02-22 8 views
1

저는 Pentaho CE 용 Kafka Consumer Plugin을 사용하고 있으며 사용상의 도움을 주셔서 감사합니다. 펜타 호가 실패하고 어떤 메시지를 잃어 버린 상황에 처해있는 사람이 있는지 알고 싶습니다. (공식 문서를 기반으로 메시지를 두 번 읽는 방법은 없습니다. 틀 렸습니다). 이러한 상황이 발생하면 어떻게 처리하여 재 처리 할 수 ​​있습니까?Pentaho Data Integration - Kafka Consumer

참조 :

http://wiki.pentaho.com/display/EAI/Apache+Kafka+Consumer

답변

0

카프카들이 소비 여부를 봤는데 여부 구성된 보존 기간에 대한 메시지를 보관, 그래서 소비자가 오프셋 (offset)가 이전에 처리로 돌아가서 다시 거기에 픽업 할 수 있습니다 .

나는 Kafka 플러그인을 직접 사용하지 않았지만 자동 커밋을 사용하지 않도록 설정하고 직접 관리 할 수있는 것처럼 보입니다. Apache의 Kafka 시스템 도구와 작업의 일부 명령 줄 단계가 필요할 것입니다. 처음에는 현재 오프셋을 가져오고, 소비하는 메시지에서 마지막 오프셋을 가져와 작업/일괄 처리가 마침에 도달하면 마지막 오프셋을 클러스터에 커밋해야합니다.

시작 오프셋을 플러그인에 대한 필드 (메시지 키?)로 제공 할 수도 있지만 그 작업에 대한 문서는 찾을 수 없습니다. 이 시나리오에서는 대상 데이터와 함께 오프셋을 저장하고 각 실행의 시작 부분에서 마지막 오프셋으로 돌아갈 수 있습니다. 실패한 실행은 대상 오프셋을 업데이트하지 않으므로 메시지가 손실되지 않습니다.

두 번째 경로로 이동하는 경우 대상의 마지막 오프셋이 보존 기간보다 긴 경우 이미 클러스터에서 사라져있을 수 있으므로 auto.offset.reset 설정 및 동작에주의하십시오.