Hadoop:服务中的奴隶但什么都不做

时间:2014-07-24 19:20:31

标签: hadoop mapreduce

我设置了一个hadoop集群并在集群上启动了MapReduce作业。

主节点正在主动运行,但所有从属设备根本不执行任何操作。

从节点上的

JPS生成

20390 DataNode
20492 NodeManager
21256 Jps

以下是投射屏幕:

The master is running

倒数第二行对应主节点。

那么为什么奴隶不使用积木?

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

这就是为什么我认为奴隶处于休息状态,什么都不做。

以下是从属datanode日志的一个示例:

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

我正在使用Hadoop 2.4.0

1 个答案:

答案 0 :(得分:1)

您似乎不止一次格式化了namenode。

阻止池ID错误主要是由于多次格式化namenode。

每次格式化namenode,blockpool id,cluster id和namespace id都会更改。

首先检查namenode和其他datanode以及辅助名称节点的上述属性。

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

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

如果有帮助,请告诉我。