总的 JVM 在 Hadoop 集群上运行? Hadoop 中的 JVM 生命周期
Total JVM runs on Hadoop Cluster? JVM life cycle in Hadoop
我认为这是一个非常基本的问题,但为了清楚地了解我有几个问题,谁能澄清一下?
- Hadoop 整个集群 - Gen1 和 Gen2 上总共有多少个 JVM 运行?
- 例如,如果我有 10 个节点的集群,对于单个节点以及整个 10 个节点的集群,JVM 的最大或最小数量应该是多少?运行?
- 我们能否在 运行 时间控制 JVM 上的创建。假设我有更多的 JVM,我的数据是否可以快速处理,我可以重用同一个 JVM 还是我需要在我的作业完成后立即销毁它。(JVM 生命周期的任何图表?)
- JVM 如何在 Hadoop 中创建和使用。 JVM在hadoop集群中的重要作用是什么(Though everything 运行s on JVM).
将 JVM 想象成一个抽象的计算机器,基于 java 的服务可以 run.To 回答您的问题:-
1) 为了简单起见,假设只有一个存储和一个处理节点
Hadoop 1.0
There were total 4 services NameNode,SecondaryNameNode, DataNode, JobTracker, and TaskTracker.Each service runs on a JVM. 4 JVMs for
NameNode,SecondaryNameNode, DataNode, JobTracker each.
A TaskTracker is a service in the cluster that accepts tasks - Map, Reduce and Shuffle operations - from a JobTracker.The TaskTracker
spawns a separate JVM processes to do the actual work.
Assuming there is only one slot available with tasktracker to do the actual work i.e running mapper or reducer.
Therefore, total number of JVMs = NameNode(1) + SecondaryNameNode(1) + DataNode(1) + JobTracker(1) + TaskTracker(2) =
6
Hadoop 2.0
Total services- Namenode,SecondaryNameNode, Resource Manager(ResourceManager,ApplicationManager and Scheduler), Node
Manager(ApplicationMaster and Container), Datanode
1 JVM for each service, hence:-
Namenode(1) +SecondaryNameNode(1) + ResourceManager(1) +ApplicationManager(1) + Scheduler(1) + Node Manager(1) +ApplicationMaster(1) +Container(1) + Datanode(1) = 9
>
处理在容器 (JVM) 上执行,而节点管理器 (JVM) 负责 operations.Each yarn 应用程序需要它自己的
应用大师(JVM)
2) 第一点描述了 JVM 的最小数量。我们无法确定最大数量,因为您可以继续在集群中添加存储和工作节点,因此 JVM 的数量将会增加。
3) 如果您的集群中有更多资源,您可以 运行 多个 JVM,这样您就可以获得更多存储(数据节点)和处理(节点管理器和容器)服务 运行宁。是的,您可以通过配置 属性 mapred.job.reuse.jvm.num.tasks
来控制 JVM 重用
4) 由于hadoop框架运行的所有服务都只在JVM上运行,所以JVM必不可少。您无法创建 JVM,操作系统会为 you.You 执行此操作,只需启动 JVM 进程即可。
我认为这是一个非常基本的问题,但为了清楚地了解我有几个问题,谁能澄清一下?
- Hadoop 整个集群 - Gen1 和 Gen2 上总共有多少个 JVM 运行?
- 例如,如果我有 10 个节点的集群,对于单个节点以及整个 10 个节点的集群,JVM 的最大或最小数量应该是多少?运行?
- 我们能否在 运行 时间控制 JVM 上的创建。假设我有更多的 JVM,我的数据是否可以快速处理,我可以重用同一个 JVM 还是我需要在我的作业完成后立即销毁它。(JVM 生命周期的任何图表?)
- JVM 如何在 Hadoop 中创建和使用。 JVM在hadoop集群中的重要作用是什么(Though everything 运行s on JVM).
将 JVM 想象成一个抽象的计算机器,基于 java 的服务可以 run.To 回答您的问题:-
1) 为了简单起见,假设只有一个存储和一个处理节点
Hadoop 1.0
There were total 4 services NameNode,SecondaryNameNode, DataNode, JobTracker, and TaskTracker.Each service runs on a JVM. 4 JVMs for NameNode,SecondaryNameNode, DataNode, JobTracker each.
A TaskTracker is a service in the cluster that accepts tasks - Map, Reduce and Shuffle operations - from a JobTracker.The TaskTracker spawns a separate JVM processes to do the actual work.
Assuming there is only one slot available with tasktracker to do the actual work i.e running mapper or reducer.
Therefore, total number of JVMs = NameNode(1) + SecondaryNameNode(1) + DataNode(1) + JobTracker(1) + TaskTracker(2) = 6
Hadoop 2.0
Total services- Namenode,SecondaryNameNode, Resource Manager(ResourceManager,ApplicationManager and Scheduler), Node Manager(ApplicationMaster and Container), Datanode
1 JVM for each service, hence:-
Namenode(1) +SecondaryNameNode(1) + ResourceManager(1) +ApplicationManager(1) + Scheduler(1) + Node Manager(1) +ApplicationMaster(1) +Container(1) + Datanode(1) = 9
> 处理在容器 (JVM) 上执行,而节点管理器 (JVM) 负责 operations.Each yarn 应用程序需要它自己的 应用大师(JVM)
2) 第一点描述了 JVM 的最小数量。我们无法确定最大数量,因为您可以继续在集群中添加存储和工作节点,因此 JVM 的数量将会增加。
3) 如果您的集群中有更多资源,您可以 运行 多个 JVM,这样您就可以获得更多存储(数据节点)和处理(节点管理器和容器)服务 运行宁。是的,您可以通过配置 属性 mapred.job.reuse.jvm.num.tasks
来控制 JVM 重用4) 由于hadoop框架运行的所有服务都只在JVM上运行,所以JVM必不可少。您无法创建 JVM,操作系统会为 you.You 执行此操作,只需启动 JVM 进程即可。