我使用带有HDFS和纱线的火花,所以基本上火花在hadoop上运行。我使用yarn-client模式在集群上运行任务。默认情况下,任务在群集的数据节点上执行。但是,我还希望namenode执行一些任务,因为它一直处于空闲状态。那么,是否有可能让namenode执行一些任务?如果是这样,怎么样?
答案 0 :(得分:2)
更具体地说,Spark任务没有在Datanode上运行。在Hadoop上运行Spark时,任务在Nodemanagers上执行,Nodemanagers是Hadoop / Yarn集群上每个从节点上hadoop / yarn cluster runniong中的执行单元。但一般来说,每个从节点上的Hadoop / Yarn集群都有两个进程DataNode和NodeManager
与Nodemanager相当的Namenode(数据节点的主节点)是Resourcemanager(它是节点管理器的主人)
Namenode / ResourceManager本身无法执行任何任务,它们只是管理从站(分别为datanode和nodemanagers)的主进程,除非您在运行Namenode(或ResourceManager)的同一主机上启动了nodemanager进程
如果您的NameNode是Namenode进程启动的物理节点,那么只要您在该节点上启动Nodemanager进程,就可以了。