Hadoop:奴隶在服役但什么也不做

Hadoop:奴隶在服役但什么也不做,hadoop,mapreduce,Hadoop,Mapreduce,我建立了一个hadoop集群,并在集群上启动了一个MapReduce作业 主节点正在积极运行,但所有从属节点都不做任何事情 从属节点上的JPS 20390 DataNode 20492 NodeManager 21256 Jps 以下是屏幕放映: 倒数第二行对应于主节点 那么为什么奴隶们不用积木呢 在主节点上运行top也会产生Java进程(hadoop-jar-file.jar args),占用几乎100%的CPU资源。然而,任何从机上都不存在这样的过程 这就是为什么我认为奴隶们在休息,什么

我建立了一个hadoop集群,并在集群上启动了一个MapReduce作业

主节点正在积极运行,但所有从属节点都不做任何事情

从属节点上的
JPS

20390 DataNode
20492 NodeManager
21256 Jps
以下是屏幕放映:

倒数第二行对应于主节点

那么为什么奴隶们不用积木呢

在主节点上运行
top
也会产生Java进程(
hadoop-jar-file.jar args
),占用几乎100%的CPU资源。然而,任何从机上都不存在这样的过程

这就是为什么我认为奴隶们在休息,什么也不做

下面是从属数据节点日志的一个示例:

2014-07-24 23:28:01,302 INFO org.apache.hadoop.util.GSet: Computing capacity for map BlockMap
2014-07-24 23:28:01,302 INFO org.apache.hadoop.util.GSet: VM type       = 64-bit
2014-07-24 23:28:01,304 INFO org.apache.hadoop.util.GSet: 0.5% max memory 889 MB = 4.4 MB
2014-07-24 23:28:01,304 INFO org.apache.hadoop.util.GSet: capacity      = 2^19 = 524288 entries
2014-07-24 23:28:01,304 INFO org.apache.hadoop.hdfs.server.datanode.BlockPoolSliceScanner: Periodic Block Verification Scanner initialized with interval 504 hours for block pool BP-1752077220-193.167.138.8-1406217332464
2014-07-24 23:28:01,310 INFO org.apache.hadoop.hdfs.server.datanode.DataBlockScanner: Added bpid=BP-1752077220-193.167.138.8-1406217332464 to blockPoolScannerMap, new size=1
2014-07-24 23:31:01,116 INFO org.apache.hadoop.hdfs.server.datanode.DirectoryScanner: BlockPool BP-1752077220-193.167.138.8-1406217332464 Total blocks: 0, missing metadata files:0, missing block files:0, missing blocks in memory:0, mismatched blocks:0
没别的了

但是,对于主数据节点,日志文件包含以下行:

2014-07-24 22:27:23,443 INFO org.apache.hadoop.hdfs.server.datanode.DataNode: Receiving BP-1752077220-193.167.138.8-1406217332464:blk_1073742749_1925 src: /193.167.138.8:44210 dest: /193.167.138.8:50010
我认为这意味着节点正在接收任务并处理数据

以下是一个从节点的纱线日志文件:

2014-07-24 23:28:13,811 INFO org.mortbay.log: Started SelectChannelConnector@0.0.0.0:8042
2014-07-24 23:28:13,812 INFO org.apache.hadoop.yarn.webapp.WebApps: Web app /node started at 8042
2014-07-24 23:28:14,122 INFO org.apache.hadoop.yarn.webapp.WebApps: Registered webapp guice modules
2014-07-24 23:28:14,130 INFO org.apache.hadoop.yarn.client.RMProxy: Connecting to ResourceManager at ugluk/193.167.138.8:8031
2014-07-24 23:28:14,176 INFO org.apache.hadoop.yarn.server.nodemanager.NodeStatusUpdaterImpl: Registering with RM using finished containers :[]
2014-07-24 23:28:14,366 INFO org.apache.hadoop.yarn.server.nodemanager.security.NMContainerTokenSecretManager: Rolling master-key for container-tokens, got key with id 1336429163
2014-07-24 23:28:14,369 INFO org.apache.hadoop.yarn.server.nodemanager.security.NMTokenSecretManagerInNM: Rolling master-key for nm-tokens, got key with id :1986181585
2014-07-24 23:28:14,370 INFO org.apache.hadoop.yarn.server.nodemanager.NodeStatusUpdaterImpl: Registered with ResourceManager as shagrat.hiit.fi:48662 with total resource of <memory:8192, vCores:8>
2014-07-24 23:28:14,370 INFO org.apache.hadoop.yarn.server.nodemanager.NodeStatusUpdaterImpl: Notifying ContainerManager to unblock new container-requests
2014-07-24 23:28:13811信息org.mortbay.log:已启动SelectChannelConnector@0.0.0.0:8042
2014-07-24 23:28:13812 INFO org.apache.hadoop.warn.webapp.WebApps:webapp/node于8042启动
2014-07-24 23:28:14122 INFO org.apache.hadoop.warn.webapp.WebApps:注册的webapp guice模块
2014-07-24 23:28:14130 INFO org.apache.hadoop.warn.client.RMProxy:连接到位于ugluk/193.167.138.8:8031的ResourceManager
2014-07-24 23:28:14176 INFO org.apache.hadoop.warn.server.nodemanager.NodeStatusUpdaterImpl:使用成品容器向RM注册:[]
2014-07-24 23:28:14366 INFO org.apache.hadoop.warn.server.nodemanager.security.NMContainerTokenSecretManager:容器令牌的滚动主密钥,获取id为1336429163的密钥
2014-07-24 23:28:14369 INFO org.apache.hadoop.warn.server.nodemanager.security.nmtokensecretmanagerInM:nm令牌的滚动主密钥,获得id为1986181585的密钥
2014-07-24 23:28:14370 INFO org.apache.hadoop.warn.server.nodemanager.NodeStatusUpdaterImpl:在ResourceManager注册为shagrat.hiit.fi:48662,总资源为
2014-07-24 23:28:14370 INFO org.apache.hadoop.warn.server.nodemanager.NodeStatusUpdaterImpl:通知ContainerManager取消阻止新容器请求

我正在使用Hadoop 2.4.0

似乎多次格式化了namenode

块池id错误主要是由于多次格式化namenode造成的

每次格式化namenode时,块池id、集群id和命名空间id都会更改

因此,首先检查namenode和其他datanode以及secondary namenode的上述属性

您可以使用这些节点的当前目录中的版本文件进行检查。为此,请首先通过检查其路径hadoop hdfs-site.xml查看您在何处配置了节点

转到该路径,查找当前目录并进行必要的更改


请让我知道这是否有帮助。

运行作业时是否出现任何错误?你在哪里可以看到节点处于静止状态?@charlesbabage,我想,奴隶实际上并没有得到工作。我在日志文件中添加了信息,希望能让事情更清楚。