2017-12-19 27 views
2

카프카 및 카프카 스트리밍 애플리케이션으로 시작합니다. 한 주제에서 소비하고,이 메시지를 처리 ​​한 다음 다른 주제로 보내주는 Kafka Stream App을 작성했습니다. 본인이 아는카프카 스트림 앱을 자동으로 배포합니다.

, 나는 코딩이 카프카 스트림 응용 프로그램을 실행하는 데 발견하는 유일한 방법은 다음과 같습니다 IDE에서

  • Java 실행 클래스입니다.
  • *.jar 파일을 생성하고 프롬프트에서 실행하십시오.

카프카 서버 시작시 카프카 스트리밍 응용 프로그램을 자동으로 실행할 수있는 방법이 있는지 알고 싶습니다. 예 : *.jar 파일을 카프카 설치의 일부 폴더에 복사하고 카프카 서버를 시작할 때이 스트림 앱을 자동으로 실행합니다.

+3

참고 : 브로커와 동일한 하드웨어에서 Kafka Streams 응용 프로그램을 실행하지 않는 것이 좋습니다! –

답변

5

귀하의 Kafka 브로커 (서버)와 귀하의 Kafka Streams 응용 프로그램은 서로 독립적입니다. initd 또는 systemd와 같은 것이 든 Docker 또는 Kubernetes와 같은 컨테이너 기반 솔루션이든 상관없이 서버의 프로세스를 관리 할 수는 있지만 시작할 수 있습니다.

내 경험에 따르면, 스트림 응용 프로그램이 브로커 또는 ZooKeeper보다 먼저 시작된다면 온라인 상태가되기를 기다리는 시간이 초과 될 수 있습니다. 따라서 이러한 상황에서 다시 시작하도록 스트림 프로세스를 구성해야 할 수도 있습니다.

+0

내 Kafka Stream App은 컨테이너 기반 솔루션으로 전체 시간을 운영 할 수 있지만, 시작시 자동으로 Kafka 중개인과 함께 실행할 수있는 방법이 있는지 알고 싶습니다. 가능한가? –

+2

"이해가 안 되니?" 예, 가능합니다 : 브로커를 시작하면 다음 명령에서 스트림 응용 프로그램을 시작합니다. 귀하의 질문에 내가 무엇을 놓치고 있습니까? 실행하면 실행합니다. 그렇지 않으면, 당신은하지 않습니다. "자동적으로"이라는게 무슨 뜻이야? 그것은 전적으로 배포 메커니즘에 따라 다릅니다. 브로커와 Kafka Streams 응용 프로그램은 본질적으로 서로 관련이 없으므로 배포 장치가 배포를 쉽게 수행 할 수 있도록 자동으로 실행할 수 있습니다. –

+0

카프카 스트림 앱을 프롬프트 또는 명령 행에서 실행할 필요없이 카프카 설치로 "카프카 스트림 앱"을 "네이티브"로 만들어야합니다. 아마도 내가 필요한 솔루션은 필수 Infraestructure (Zookeeper, Kafka 등)를 실행하는 스크립트를 작성한 다음이 모든 것을 자동으로 배치하기 위해 Kafka Stream App을 실행하는 것입니다. –