我修改了heron示例拓扑中名为 WordCountTopology.java
并使用 mvn assembly:assembly
命令。当我将修改后的wordcounttopology提交给heron集群时,我发现heron示例的ram需求没有改变。
建造过程 .jar
就是成功。wordcounttopology的默认ram要求如下:
// configure component resources
conf.setComponentRam("word",
ByteAmount.fromMegabytes(ExampleResources.COMPONENT_RAM_MB * 2));
conf.setComponentRam("consumer",
ByteAmount.fromMegabytes(ExampleResources.COMPONENT_RAM_MB * 2));
// configure container resources
conf.setContainerDiskRequested(
ExampleResources.getContainerDisk(2 * parallelism, parallelism));
conf.setContainerRamRequested(
ExampleResources.getContainerRam(2 * parallelism, parallelism));
conf.setContainerCpuRequested(2);
在上述代码中。 ExampleResources.COMPONENT_RAM_MB = 512mb
. 的默认值 parallelism
是 1
.
示例资源的内容如下:
static ByteAmount getContainerDisk(int components, int containers) {
return ByteAmount.fromGigabytes(Math.max(components / containers, 1));
}
static ByteAmount getContainerRam(int components, int containers) {
final int componentsPerContainer = Math.max(components / containers, 1);
return ByteAmount.fromMegabytes(COMPONENT_RAM_MB * componentsPerContainer);
}
我改变了 ExampleResources.COMPONENT_RAM_MB=512mb
至 256mb
.
但是,在 Aurora scheduler
具体如下:
极光中的所有示例都失败了:
我的问题是:我应该怎么做才能有效地改变拓扑中的ram需求?我不知道为什么任务在mesos和aurora中运行失败。谢谢你的帮助。
1条答案
按热度按时间fxnxkyjh1#
你知道你用的是哪个版本的heron吗?我们最近切换到一种新的打包算法,称为资源兼容循环调度。最终,资源分配将是自动的。