最近部署hadoop分布式系统,在格式化的时候出现了问题。journal node和zookeeper都启动了,就是不能格式化namenode,仔细对照配置文件后发现,在core-site.xml中的一个配置好像不太一样。
报错信息如下:
17/09/02 04:18:53 WARN ssl.FileBasedKeyStoresFactory: The property
‘ssl.client.truststore.location’ has not been set, no TrustStore will
be loaded 17/09/02 04:18:54 FATAL namenode.NameNode: Exception in
namenode join java.lang.IllegalArgumentException: URI has an authority
component
at java.io.File.(File.java:423)
at org.apache.hadoop.hdfs.server.namenode.NNStorage.getStorageDirectory(NNStorage.java:327)
at org.apache.hadoop.hdfs.server.namenode.FSEditLog.initJournals(FSEditLog.java:261)
at org.apache.hadoop.hdfs.server.namenode.FSEditLog.initJournalsForWrite(FSEditLog.java:233)
at org.apache.hadoop.hdfs.server.namenode.NameNode.format(NameNode.java:920)
at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1354)
at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1473)
17/09/02 04:18:54 INFO util.ExitUtil: Exiting with status 1
我的错误的配置:
<property>
<name>hadoop.tmp.dir</name>
<value>file:/opt/data2/tmp</value>
</property>
正确的配置:
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/tmp</value>
</property>
把 file: 删掉后 namenode 就格式化成功了。
总结
file:
在伪分布式系统上,可加可不加;在完全分布式系统上不可以加。所以在分布式以及高可用模式下 file:可以直接省略。
如有错误,欢迎私信纠正,谢谢支持!