2016-12-01 15 views
0

デフォルトのappdeployappmasterプロパティはどのように変更できますか?Springのデータフローと糸:プロパティを正しく設定するには?

私はSpring DataFlow YARNを通じてアプリケーションをデプロイしようとしています。私は自分のアプリを登録し、ストリームを作成し、 "展開"ボタンをクリックします。例外アプリのStreamAppDefinitionを展開[さstreamName =ヒスト、名前=私のアプリ、registeredAppNameは=私のアプリ -

[XNIO-2タスク-2] oscdscStreamDeploymentControllerをWARN:その際、私は次のエラーを取得します、プロパティ= {spring.cloud.stream.bindings.input.destination = log、spring.cloud.stream.bindings.input.group = histo}]:java.util.concurrent.ExecutionException:org.springframework.yarn.YarnSystemException:無効なホスト名:ローカルホストは:(不明)。宛先ホスト: "null":8032; java.net.UnknownHostException;詳細はhttp://wiki.apache.org/hadoop/UnknownHostを参照してください。ネストされた例外はjava.net.UnknownHostExceptionです:無効なホスト名:ローカルホストは:(不明);宛先ホスト: "null":8032; java.net.UnknownHostException;より多くの詳細に関しては:あなたが見ることができるようにhttp://wiki.apache.org/hadoop/UnknownHost

、デプロイヤは春データフローServerの起動時に、それがうまく見つかっているが、「リソースマネージャ」URIを見つけることができません。 私はデプロイ時に問題が発生するだけです。

この問題を解決するにはどのプロパティを設定する必要がありますか?それはどこで行いますか?

EDIT 1: ヤンネValkealahtiの答えに続いては、私は、/dataflow/apps/stream/app/servers.ymlで次のプロパティを追加したサーバをリニューアルし、私のストリームを再配備しようとしました。

spring: 
    cloud: 
    dataflow: 
     yarn: 
     version: 0.0.1-SNAPSHOT 
    deployer: 
     yarn: 
     version: 1.0.2.RELEASE 
    stream: 
     kafka: 
     binder: 
      brokers: kafka.my-domain.com:9092 
      zkNodes: zookeeper.my-domain.com:2181/node 
    # Configured for Hadoop single-node running on localhost. Replace with property values reflecting your 
    # actual Hadoop cluster when running in a distributed environment. 
    hadoop: 
    fsUri: hdfs://mapr.my-domain.com/referentiel/ca_category_2014/ 
    resourceManagerHost: mapr.my-domain.com 
    resourceManagerPort: 8032 
    resourceManagerSchedulerAddress: mapr.my-domain.com:8030 
    session: 
    store-type: none 

まだまったく同じメッセージが表示されます。

PS:私はAmbariを使用していません。手動で最初に動作する方法を理解したいと思います。

EDIT 2: 私は、データフローサーバー上-Dspring.config.location VMの引数を追加し、問題を解決しました。与えられた構成はデプロイヤーに渡され、アプリケーションは効果的にデプロイされます。

私はそれに答えるつもりです。

答えて

0

私は-Dspring.config.location JVM引数を追加して動作させる必要があることが判明しました。 -Dspring.config.locationは、YARN設定を含むファイルを指している必要があります。:(私は右のそれを取得する場合appdeployerappmaster

spring: 
    cloud: 
    dataflow: 
     yarn: 
     version: 0.0.1-SNAPSHOT 
    deployer: 
     yarn: 
     version: 1.0.2.RELEASE 
    stream: 
     kafka: 
     binder: 
      brokers: kafka.my-domain.com:9092 
      zkNodes: zookeeper.my-domain.com:2181/node 
    # Configured for Hadoop single-node running on localhost. Replace with property values reflecting your 
    # actual Hadoop cluster when running in a distributed environment. 
    hadoop: 
    fsUri: hdfs://mapr.my-domain.com/referentiel/ca_category_2014/ 
    resourceManagerHost: mapr.my-domain.com 
    resourceManagerPort: 8032 
    resourceManagerSchedulerAddress: mapr.my-domain.com:8030 
    session: 
    store-type: none 

この構成では、デプロイヤアプリに渡されます。

0

あなたのインストールがアンバリまたは通常の手動YARNインストールに基づいているかどうかはわかりませんでしたので、後者(マニュアル)と仮定しました。

私が問題に思うのは、config/servers.ymlresourceManagerHostの設定が間違っているため、デフォルトではlocalhostです。このファイルは、ストリームが起動されたときにhdfsに一度だけ配布されます。再配布/ストリーム作成後に変更した場合、hdfsディレクトリのappは更新されません。デフォルトでは、hdfsのこのファイルは/dataflow/apps/stream/app/servers.ymlです。

このエラーは、データフローヤーンサーバーがすべてのものを制御しているため、アプリを送信するために糸資源マネージャにアクセスする必要があるため意味があります。サーバーの設定も同じservers.ymlファイルから行われます。

+0

ご返信ありがとうございます。私はあなたが提案したものを試しました、そして、悲しげにそれは事を変えません。私は試したステップを追加するために私の質問を編集しました。私がやったことに間違ったことはありますか? –

+0

私は解決策を見つけました。ご協力いただきありがとうございます –

関連する問題