初始化namenode失败,java.lang.IllegalArgumentException: URI has an authority component

本文记录了一次Hadoop完全分布式部署过程中遇到的问题及解决方案。在尝试格式化namenode时出现错误,通过对比教程和配置文件,最终发现core-site.xml中hadoop.tmp.dir配置项的file:前缀导致了问题,去掉后成功解决问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近搞分布式系统,再一次炸了,

之前的伪分布式系统,hadoop-1.2.1,hadoop-2.5.2都好好的了,没有问题

搞成完全分布式系统就爆炸了,

这个错

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.<init>(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

 

到处搜,到处问,都没有解决,和教程对,也没有什么问题,journal node和zookeeper都启动了,就是不能格式化namenode,头疼了两天,于是继续对照,发现,有一个地方好像不太一样,就是在core-site.xml中的一个配置

我的是这样的

<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: 直接在分布式系统上直接都不写算了,

转载于:https://my.oschina.net/u/3655888/blog/1528032

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值