public interface YarnAppmasterConfigurerYarnAppmasterConfigure は、SpringYarnConfigurerAdapter を介してユーザーに公開される YarnAppmasterBuilder のインターフェースです。 通常の構成は以下のようになります。
@Configuration
@EnableYarn(enable=Enable.APPMASTER)
static class Config extends SpringYarnConfigurerAdapter {
@Override
public void configure(YarnAppmasterConfigure master) throws Exception {
master
.appmasterClass(MyAppmaster.class)
.withContainerRunner();
}
}
| 修飾子と型 | メソッドと説明 |
|---|---|
YarnAppmasterConfigurer | appmasterClass(java.lang.Class<? extends YarnAppmaster> clazz)YarnAppmaster クラスを指定します。 |
YarnAppmasterConfigurer | appmasterClass(java.lang.String clazz) 完全修飾クラス名として YarnAppmaster を指定します。 |
YarnAppmasterConfigurer | containerCommands(java.lang.String[] commands) コンテナーを起動するために使用されるコマンドの生の配列を指定します。 |
YarnAppmasterConfigurer | containerCommands(java.lang.String id, java.lang.String[] commands) コンテナーを起動するために使用されるコマンドの生の配列を指定します。 |
MasterContainerAllocatorConfigurer | withContainerAllocator()Appmaster のコンテナーアロケータを指定します。 |
MasterContainerRunnerConfigurer | withContainerRunner()Appmaster のコンテナーランナーを指定します。 |
MasterContainerRunnerConfigurer withContainerRunner() throws java.lang.Exception
DefaultMasterContainerRunnerConfigurer を現在のビルダーに適用します。
public void configure(YarnAppmasterConfigure master) throws Exception {
Properties properties = new Properties();
properties.setProperty("foo1", "bar1");
master
.withContainerRunner()
.arguments(properties)
.argument("foo2", "bar2");
}
<util:properties id="arguments"> <prop key="foo1">bar1</prop> <prop key="foo2">bar2</prop> </util:properties> <yarn:master> <yarn:container-runner arguments="arguments"/> </yarn:master>
MasterContainerRunnerConfigurerjava.lang.Exception - 例外 MasterContainerAllocatorConfigurer withContainerAllocator() throws java.lang.Exception
DefaultMasterContainerAllocatorConfigurer を現在のビルダーに適用します。
public void configure(YarnAppmasterConfigure master) throws Exception {
master
.withContainerAllocator()
.priority(0)
.virtualCores(1)
.memory(1024);
}
<yarn:master> <yarn:container-allocator priority="0" virtualcores="1" memory="1024"/> </yarn:master>
MasterContainerAllocatorConfigurerjava.lang.Exception - 例外 YarnAppmasterConfigurer containerCommands(java.lang.String[] commands)
public void configure(YarnAppmasterConfigure master) throws Exception {
master
.containerCommands("date", "1><LOG_DIR>/Container.stdout", "2><LOG_DIR>/Container.stderr");
}
<yarn:master>
<yarn:container-command>
<![CDATA[
date
1><LOG_DIR>/Container.stdout
2><LOG_DIR>/Container.stderr
]]>
</yarn:container-command>
</yarn:master>
commands - Yarn コンテナーコマンド YarnAppmasterConfigurerYarnAppmasterConfigurer containerCommands(java.lang.String id, java.lang.String[] commands)
id - コマンド識別子 commands - Yarn コンテナーコマンド YarnAppmasterConfigurercontainerCommands(String[])YarnAppmasterConfigurer appmasterClass(java.lang.Class<? extends YarnAppmaster> clazz)
YarnAppmaster クラスを指定します。
public void configure(YarnAppmasterConfigure master) throws Exception {
master
.appmasterClass(MyYarnAppmaster.class);
}
<yarn:master appmaster-class="com.example.MyYarnAppmaster"/>
clazz - Yarn アプリマスタークラス YarnAppmasterConfigurerYarnAppmasterConfigurer appmasterClass(java.lang.String clazz)
YarnAppmaster を指定します。
public void configure(YarnAppmasterConfigure master) throws Exception {
master
.appmasterClass(MyYarnAppmaster.class);
}
clazz - Yarn アプリマスタークラス YarnAppmasterConfigurer