我设置了一个hadoop集群并在集群上启动了MapReduce作业。
主节点正在主动运行,但所有从属设备根本不执行任何操作。
从节点上的 JPS
生成
20390 DataNode
20492 NodeManager
21256 Jps
以下是投射屏幕:
倒数第二行对应主节点。
那么为什么奴隶不使用积木?
在主节点上运行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
答案 0 :(得分:1)
您似乎不止一次格式化了namenode。
阻止池ID错误主要是由于多次格式化namenode。
每次格式化namenode,blockpool id,cluster id和namespace id都会更改。
首先检查namenode和其他datanode以及辅助名称节点的上述属性。
您可以使用这些节点的当前目录中的VERSION文件进行检查。为此,首先通过检查其路径hadoop hdfs-site.xml来查看您的节点配置位置。
转到该路径,查找CURRENT目录并进行必要的更改。
如果有帮助,请告诉我。