2017-12-19 18 views
2

私はKafkaとKafka Streaming Applicationsから始めています。私はある話題から消してこのメ​​ッセージを処理し、別の話題に送るカフカストリームアプリを書いた。私の知る限りカフカストリームアプリを自動的に展開

は、私がコード化されたこのカフカストリームアプリケーションを実行するために発見した唯一の方法は、以下のとおりです。IDEから

  • 実行するJavaクラス。
  • *.jarファイルを生成し、プロンプトから実行します。

カフカサーバーの起動時に自動的にKafkaストリーミングアプリケーションを実行する方法があるかどうかを知りたいと思います。たとえば、*.jarファイルを私のKafkaインストールのフォルダにコピーして、私のKafkaサーバを起動するときにこのストリームアプリケーションを自動的に実行します。

+3

注:ブローカーと同じハードウェアでKafka Streamsアプリケーションを実行することはお勧めしません。 –

答えて

5

あなたのKafkaブローカー(サーバー)とあなたのKafka Streamsアプリケーションは、互いに独立しています。しかし、initdやsystemdのようなものであれ、DockerやKubernetesのようなコンテナベースのソリューションであれ、サーバ上のプロセスを管理することはできます。

私の経験では、ストリームアプリケーションがブローカまたはZooKeeperの前でうまく始まっていれば、オンラインになるのを待ってタイムアウトすることがあります。このような状況で再起動するようにストリーム・プロセスを構成する必要があるかもしれません。

+0

私はKafka Stream Appがコンテナベースのソリューションで全期間稼働できることを知っていますが、起動時に自動的にカフカブローカ自体で実行する方法があるかどうかを知りたいという点が重要です。出来ますか? –

+2

私は理解できません "それは可能ですか?"はい、可能です:ブローカーを起動すると、次のコマンドでストリームアプリケーションを開始します。あなたの質問には何が欠けていますか?あなたがそれを実行すると、あなたはそれを実行します。あなたがしなければ、あなたはしません。 「自動的に」とはどういう意味ですか?これは、展開の仕組みに完全に依存します。ブローカとKafka Streamsのアプリケーションは、本質的に相互に何の関係もないため、導入装置が導入を容易にする限り、自動的に実行することができます。 –

+0

私はこのカフカストリームアプリを、カフカのインストールで「ネイティブ」なものにするために、プロンプトやコマンドラインからKafka Stream Appを実行する必要はありません。おそらく私が必要とするソリューションは、必要なインフラストラクチャ(Zookeeper、Kafkaなど)を実行するスクリプトを作成してから、これをすべて自動的に展開するためにKafka Stream Appを実行することです。 –

関連する問題