【发布时间】:2012-02-17 19:52:59
【问题描述】:
当我使用 bin/start-all.sh 脚本启动 hadoop 时,它似乎为名称节点、数据节点、作业跟踪器和任务跟踪器启动了不同的 JVM。
此外,当我开始工作时,它似乎为每个工作创建了另一个 JVM。
hadoop 这样做是否有特定的原因。我知道它在多节点集群环境中是必要的,但即使在单节点集群上也是如此。
有没有办法我可以指定在同一个 JVM 下运行所有东西的任何配置参数?
【问题讨论】:
当我使用 bin/start-all.sh 脚本启动 hadoop 时,它似乎为名称节点、数据节点、作业跟踪器和任务跟踪器启动了不同的 JVM。
此外,当我开始工作时,它似乎为每个工作创建了另一个 JVM。
hadoop 这样做是否有特定的原因。我知道它在多节点集群环境中是必要的,但即使在单节点集群上也是如此。
有没有办法我可以指定在同一个 JVM 下运行所有东西的任何配置参数?
【问题讨论】:
我还没有读到任何具体说明他们为什么这样做的内容,但是使用多个 JVM,您可能会使用更多的物理 RAM(取决于 O/S)。你也会得到一些隔离。因此,如果您想更改一个组件的配置方式,您只需重新启动该组件即可。并不是说这是一个巨大的好处,必然。此外,从实现的角度来看,以相同的方式执行此操作可能更简单,并且不同设置的逻辑不同。
OTOH,为什么不生成多个 JVM?
【讨论】: