我在hdfs和yarn中使用spark,所以基本上spark是在hadoop上运行的。我使用yarn客户机模式在集群上运行任务。默认情况下,任务在集群的数据节点上执行。但是,我也希望namenode执行一些任务,因为它一直处于空闲状态。那么,namenode是否也可以执行一些任务呢?如果是,怎么做?
zxlwwiss1#
更具体地说,spark任务没有在datanodes上运行。在hadoop上运行spark时,任务在nodemanagers上执行,nodemanagers是hadoop/yarn cluster中的执行单元,在hadoop/yarn cluster的每个从属节点上运行。但是在hadoop/yarn集群中,每个从节点上有两个进程datanode和nodemanagernamenode(datanodes的主节点)与nodemanager的等价物是resourcemanager(nodemanager的主节点)namenode/resourcemanager本身不能执行任何任务,它们只是管理从属(datanode和nodemanagers)m的主进程,除非您在运行namenode(或resourcemanager)的同一主机上启动nodemanager进程如果您所说的namenode是namenode进程启动的物理节点,那么可以,只要您在该节点上启动nodemanager进程。
1条答案
按热度按时间zxlwwiss1#
更具体地说,spark任务没有在datanodes上运行。在hadoop上运行spark时,任务在nodemanagers上执行,nodemanagers是hadoop/yarn cluster中的执行单元,在hadoop/yarn cluster的每个从属节点上运行。但是在hadoop/yarn集群中,每个从节点上有两个进程datanode和nodemanager
namenode(datanodes的主节点)与nodemanager的等价物是resourcemanager(nodemanager的主节点)
namenode/resourcemanager本身不能执行任何任务,它们只是管理从属(datanode和nodemanagers)m的主进程,除非您在运行namenode(或resourcemanager)的同一主机上启动nodemanager进程
如果您所说的namenode是namenode进程启动的物理节点,那么可以,只要您在该节点上启动nodemanager进程。