3

Gnip API에서 읽고 Kafka 클러스터로 트윗을 전송하는 스파크 스트리밍 작업이 있습니다.일부 Kafka 노드 시간 오프셋이 동기화되지 않은 경우 스파크 스트리밍 작업이 중단됩니다.

Kouka 클러스터는 Cloudera Manager를 사용하여 설치됩니다.

때로는 클로더 관리자가 일부 카프카 노드에 대해 잘못된 상태 메시지를 표시합니다. 나쁜 상태 메시지는 NTP 서비스와 관련이 있습니다. 일부 노드는 갑자기 NTP 서버와 동기화되지 않습니다.

이러한 일이 발생하면 Spark 스트리밍 작업이 멈추고 많은 작업이 오랜 시간 동안 처리되지 않고 대기합니다.

카프카 노드와 NTP 서버의 동기화가 스파크 스트리밍 작업에서 카프카 제작자에게 영향을주는 이유는 무엇입니까?

답변

2

모든 파티션에는 Kafka 중개자의 리더와 팔로워가 있으며,이를 통해 Kafka는 내결함성을 제공합니다. 이 메커니즘은 NTP 서비스를 사용하는 ZooKeeper를 기반으로합니다.

기본 구성을 사용하는 경우 리더가 데이터를 수신하고 추종자에게 글을 쓰는 것이 가장 좋습니다. 데이터가 모든 추종자에게 쓰여질 때까지 성공 메시지에 응답하지 않습니다. 따라서 Spark 응용 프로그램이 차단됩니다.

리더가 데이터를 수신하거나 리더가 데이터를 디스크에 쓴 즉시 응답하도록 카프카 구성을 변경할 수도 있습니다.

Kafka documents에서 자세한 내용을 확인할 수 있습니다.

관련 문제