我认为这是一个非常基本的问题,但为了弄清楚我有几个问题谁能澄清?
hadoop整个集群上总共有多少个jvm运行-gen1和gen2?
例如,如果我有10个节点的集群,那么jvm的最大或最小值是多少?这些值应该为单个节点和整个10个节点的集群运行?
我们可以在运行时控制jvm上的创建。比如说,如果我有更多的jvm,我的数据能被快速处理吗?我能重用同一个jvm吗?或者我需要在我的工作完成后立即销毁它吗
jvm是如何在hadoop中创建和使用的。jvm在hadoop集群中的重要作用是什么(尽管一切都在jvm上运行)。
1条答案
按热度按时间knpiaxh11#
把jvm想象成一台抽象计算机器,基于java的服务可以在它上面运行questions:-
1) 为了简单起见,假设只有一个存储和一个处理节点
hadoop 1.0版
总共有4个服务namenode、secondarynamenode、datanode、jobtracker和tasktracker。每个服务都在jvm上运行。namenode、secondarynamenode、datanode和jobtracker各有4个jvm。
tasktracker是集群中的一个服务,它从jobtracker接受任务Map、reduce和shuffle操作。
假设tasktracker只有一个可用的插槽来执行实际工作,即运行mapper或reducer。
因此,JVM的总数=namenode(1)+secondarynamenode(1)+datanode(1)+jobtracker(1)+tasktracker(2)=6
hadoop 2.0版
总服务-namenode、secondarynamenode、资源管理器(resourcemanager、applicationmanager和scheduler)、节点管理器(applicationmaster和container)、datanode
每个服务1个jvm,hence:-
namenode(1)+secondarynamenode(1)+resourcemanager(1)+applicationmanager(1)+调度器(1)+节点管理器(1)+applicationmaster(1)+容器(1)+数据节点(1)=9