我已按照apache.org上的说明按照说明以伪分布式模式设置hadoop集群:Hadoop: Setting up a Single Node Cluster;
我使用的是Hadoop 2.7.7,除NameNode的格式设置外,其他一切正常。说明说:
$ bin/hdfs namenode -format
但是,这将输出使用情况信息并关闭节点:
.
.
18/08/05 19:20:02 INFO namenode.NameNode: createNameNode [–format]
Usage: java NameNode [-backup] |
[-checkpoint] |
[-format [-clusterid cid ] [-force] [-nonInteractive] ] |
[-upgrade [-clusterid cid] [-renameReserved<k-v pairs>] ] |
[-upgradeOnly [-clusterid cid] [-renameReserved<k-v pairs>] ] |
[-rollback] |
[-rollingUpgrade <rollback|downgrade|started> ] |
[-finalize] |
[-importCheckpoint] |
[-initializeSharedEdits] |
[-bootstrapStandby] |
[-recover [ -force] ] |
[-metadataVersion ] ]
18/08/05 19:20:04 INFO namenode.NameNode: SHUTDOWN_MSG:
但是,如果我使用(显然已弃用)
$ bin/hadoop namenode -format
......它有效!!!
为什么会这样,我该如何解决?
答案 0 :(得分:3)
bin/hdfs namenode -format
”与“ bin/hdfs namenode –format
”不一样!不相信我吗?现在呢?
`bin/hdfs namenode -format`
`bin/hdfs namenode –format`
您编写的命令:
$ bin/hdfs namenode -format
不是您实际提交的命令!
从您提供的输出中:
18/08/05 19:20:02 INFO namenode.NameNode: createNameNode [–format]
请注意,“格式”自变量中的破折号:[–format]
。这使用的是U+2013 : EN DASH
,这是一个长破折号,如果您在字处理器中键入命令,则可能会得到。编码中使用的普通破折号是短破折号/减号/连字符:[-format]
,它使用U+002D : HYPHEN-MINUS {hyphen or minus sign}
,并且应该是您键入“减号”键时所得到的字符(至少在我的键盘上)
我的猜测是您不是从链接中键入命令或复制/粘贴命令,而是从文字处理程序中复制/粘贴命令。