2017-12-26 10 views
0

私は糸(より正確にはAWS EMR糸クラスター)でflinkを実行しています。なぜflinkコンテナのvcoreサイズは常に1

私はflinkドキュメントとソースコードを読んで、各タスクマネージャコンテナのデフォルトでは、スレッドからリソースを要求するときに、タスクマネージャごとのスロット数をvcoresの数として要求します。 そして、私はまた、ソースコードから確認:私は-yn 1 -YS 3が、私は、糸が唯一のタスクマネージャコンテナの3 vcoresを割り当てますと仮定FLINKを開始するために使用

// Resource requirements for worker containers 
      int taskManagerSlots = taskManagerParameters.numSlots(); 
      int vcores = config.getInteger(ConfigConstants.YARN_VCORES, 
Math.max(taskManagerSlots, 1)); 
      Resource capability = Resource.newInstance(containerMemorySizeMB, 
vcores); 

      resourceManagerClient.addContainerRequest(
       new AMRMClient.ContainerRequest(capability, null, null, 
priority)); 

が、私がチェックしたときにヤーンリソースマネージャのWebから各コンテナのためのvcoresの数、私は常に1のvcoresの数を参照してください。私はまた、ヤングリソースマネージャーのログから1になることをvcoreを参照してください。

私は以下の貼り付けラインにFLINKソースコードをデバッグ、およびIはvcoresの値を見ては、あります。 これは本当に私を混乱させる、誰でも私のために明確にすることができます、ありがとう。

+0

どのようにあなたのアプリケーションを実行するのですか?コマンドを使用するか、IDEでコマンドを使用する場合は、コマンドを教えてください – soheil

+0

コマンドラインから開始:flink run -m yarn-cluster -yn 1 -ys 3 uber.jar "flinkジョブを開始します – yinhua

+0

いずれかが助けてください? – yinhua

答えて

関連する問題