問題タブ [spring-cloud-dataflow]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
hadoop - Apache YARN を使用した Spring Cloud Dataflow でのデプロイの失敗
Kafka-Zookeeper と Spring Cloud Dataflow 1.0.3 を使用して単一ノードの Apache YARN をインストールしました。
すべて正常に動作していますが、次のようないくつかの展開例を作成したとき:
stream create --name "ticktock" --definition "time | hdfs --rollover=100" --deploy
http --port=8000 | ログ --name=logtest --level=INFO
ストリームのステータスが「展開済み」のままになることはありません。「undeployed」->「partial」->「deployed」と一定のループで変化し続けます。
ただし、YARN アプリケーションは正常にデプロイされますが、Spring Cloud Dataflow サーバー インスタンスと Apache Hadoop の間の通信が常に失敗しているようです。
これには何が問題になる可能性がありますか?
前もって感謝します!
spring - Spring Cloud Data Flow で REST 呼び出しによって新しいストリームを定義するにはどうすればよいですか?
REST API を使用して、Spring クラウド データ フローに新しいストリームを定義してデプロイしたいと考えています。しかし、ドキュメントでは、「POST」呼び出しをどのように構築する必要があるかについての参照はありません。
http://localhost:9393/streams/definitionsに POST 呼び出しを送信すると、次のようになります 。
私は答えとして得る:
REST API を使用するための形式を知っている人はいますか?
どうもありがとう !
spring-cloud-stream - 関数型プログラミングのためのSpring Cloud Task - どのように実際にそれを達成するのですか?
プライベート Cloud Foundry スタックで FRP (AWS Lambda に似たもの) のラインでオンデマンド アプリケーションを開発する必要があります。これは、他の方法では常に少量のアプリケーションを実行するコストを節約するためです。
メッセージが JMS ベースのメッセージング システム (IBM MQ など) に届いた場合にのみ、アプリケーションをトリガー/開始する必要があります。少量のアプリケーションであるため、それ以外の場合は停止したままにする必要があります。
詳細な調査と Spring ドキュメントの検索に基づいて、メッセージがソース キューに表示されるたびにマイクロサービスをトリガー/開始し、完了時にシャットダウンする望ましいソリューションには、次の組み合わせが必要になるように思われます。Spring Cloud Data Flow + Spring Cloud Stream + Spring Cloud Task をテクノロジースタックとして。
さまざまなサンプルのうち、以下の組み合わせは、ローカル マシンで PoC を開始するために必要なもののようです。
https://github.com/spring-cloud/spring-cloud-task/tree/master/spring-cloud-task-samples/tasksink https://github.com/spring-cloud/spring-cloud-stream-samples /tree/master/sink https://github.com/spring-cloud/spring-cloud-dataflow/tree/master/spring-cloud-dataflow-server-local
ただし、すべてをプラグインして結果を達成する方法はまだわかりません。
ある程度の進歩はありますが、このソリューションのアーキテクチャを完全に明確にすることはまだ明確ではありません。
私が理解している限りでは、私たちは...
- Spring Cloud DataFlow サーバーを実行する
- Spring Cloud DataFlow Shell または UI を実行する
- Spring Cloud Stream シンク アプリケーションを作成して実行します (Maven にもインストールする必要がありますか?)
- Spring Cloud Task シンク アプリケーションを作成し、Maven Repo にインストールします
- Spring Cloud Task も作成する必要がありますか?
- モジュールを登録します (しかし、この場合のモジュールとは何ですか?)
- DF サーバーでストリームを作成し、その上に展開します
- もっと何か?
...結果を達成するために。
誰かがこれで私を助けて、ここから逃したビルディングブロックを提案できますか? そして、上記の質問に対する答えがわかっている場合。
また、私の理解にギャップがあり@EnableTask
ますか?アプリケーションがトリガーされたときにのみ実行され、それ以外の場合は停止したままになるのに十分なほど正しく想定していますか?
spring-cloud-dataflow - SCDF での複数ユーザー管理
SCDF を SaaS として提供する必要がある学術プロジェクトに取り組んでいます。そのため、さまざまなユーザーが SCDF に接続し、ストリームとタスクにアクセス、展開、および管理できる必要があります。もちろん、他のユーザーはこれらのプライベート ストリームやタスクにアクセスするべきではありません。私のさまざまな測定値から、SCDF にはいくつかの LDAP 機能があることがわかり、デフォルトで単一のユーザーモードが使用されていることさえわかりました。ただし、私が理解したことから、LDAPはユーザーではなくサーバーの認証に使用されており、ユーザーコンテンツの分離が存在するかどうかはわかりません。ユーザー管理がある場合は、私を案内したり、関連する読み物や資料を提供したりできますか. それ以外の場合は、そのようなオプションを実装するための「最良の」方法に関するヒントを教えてください。
spring-batch - Spring Cloud コンポーネントの混乱
これらの Spring コンポーネントは、互いにどのように関連していますか? それぞれは概念的に何を表していますか? それらを一緒に使用しますか、それとも競合するプロジェクトですか?
- Spring クラウド データ フロー
- 春の雲の流れ
- スプリング クラウド タスク
- Spring Cloud タスク アプリ スターター
- 春のバッチ
私の理解では、SC タスクは実行する「作業単位」にすぎず、短命/タスクベースのマイクロサービスの形式の処理単位です。SC Data Flowは、タスクのオーケストレーションです。この 2 つがどのように関連し、概念的に何を表しているかは理解していますが、多くのドキュメントや例では、同じコンテキストで他のプロジェクトについて説明しています。
また、 SC タスクはSpring Batchの代わりになると思いましたが、いくつかの例では、Spring バッチが SC タスク内で実行されることを暗示しているようです。
hadoop-yarn - SCDF ヤーン接続エラー
仮想糸クラスターに Spring Cloud データフローをデプロイしました。サーバーの起動./bin/dataflow-server-yarn
は正しく実行されます。そして戻る
次に、開始./bin/dataflow-shell
できます。ここから、アプリをインポートしてエラーなしでストリームを作成およびリストできます。ただし、作成したストリームをデプロイしようとすると、次の接続エラーが発生します
IP アドレスを localhost に変更しても、同じ結果が得られました。ここに私のserver.ymlがあります
maven-3 - spring-cloud-starter: stream-processor-tasklaunchrequest-transform はローカルの Maven 設定を無視します
私のクラウド ストリーム アプリケーションでは、spring-cloud-starter-stream-processor-tasklaunchrequest-transform
スターター アプリをタスク プロセッサとして使用しました。
スターターはローカルでビルドされ、ローカルの Maven リポジトリにインストールされます。
ローカルの Dataflow サーバーと DF シェルを起動し、アプリを登録してストリームを作成してデプロイするために使用するコマンドは次のとおりです。
-
ローカル Maven にタスク ランチャーアプリをインストールします。
mvn clean install
- タスク プロセッサ
アプリをローカル Maven にインストールします。
mvn clean install
ローカル Maven にタスク アプリをインストールします。
mvn clean install
Build Dataflow Server Local -
mvn clean package
(remoteRepo の場所をエンタープライズ Maven リポジトリに変更)DF サーバーをローカルで起動 -
mvn spring-boot:run
データフロー シェルのビルド -
mvn clean package
DFシェルを起動 -
mvn spring-boot:run
すぐに使えるスターター アプリを Rabbit バインディングでインポートする
stream-applications-rabbit-maven
アプリを登録する -
app register --name task-processor --type processor --uri maven://org.springframework.cloud.stream.app:spring-cloud-starter-stream-processor-tasklaunchrequest-transform:jar:1.1.0.BUILD-SNAPSHOT
app register --name task-launcher-local --type sink --uri maven://org.springframework.cloud.stream.app:task-launcher-local-sink-rabbit:jar:1.0.4.RELEASE
ストリームを作成 -
stream create foo --definition "rabbit --rabbit.queues=cloud-stream-source --rabbit.requeue=true --spring.rabbitmq.host=localhost --spring.rabbitmq.port=5672 --spring.cloud.stream.bindings.output.contentType='text/plain' | task-processor --uri=maven://com.example:thumbnail-generator:0.0.1-SNAPSHOT | task-launcher-local" --deploy
ただし、タスク プロセッサの起動に失敗したため、ストリームのデプロイは失敗しています。プロセッサ ログに記録されるエラーは次のとおりです。
/Users/abc/.m2/repository/org/springframework/cloud/stream/app/spring-cloud-starter-stream-processor-tasklaunchrequest-transform/1.1.0.BUILD-SNAPSHOT/spring- にメインのマニフェスト属性はありませんcloud-starter-stream-processor-tasklaunchrequest-transform-1.1.0.BUILD-SNAPSHOT.jar
今、提起する2つのポイントがあります:
- ログに記載されている Maven リポジトリの場所は、MacOS のデフォルトの場所であり、ローカルの Maven 構成 (/Users/abc/myrepo/.m2/repository) の 1 つのセットアップではありません。
- このエラーは、スターター アプリのビルドされた jar ファイルに対して有効です -
spring-cloud-starter-stream-processor-tasklaunchrequest-transform
。そして、ストリーム アプリで実行可能にして使用できるようにするためにカスタマイズが必要な場合、それは私を混乱させます。
スターター アプリを実行可能なスプリング ブート アプリに変更して、そのバージョンをローカル リポジトリにインストールしようとしましたが、アプリケーションが正しいローカル リポジトリ (既定のリポジトリではなく) を参照しない限り、使用できません。
これはアプリの問題であり、ローカルの maven 設定が表示されないため、デフォルト値のままになっていると思います。
どんな入力も役に立ちます。