Hadoop 伪分布式下更换默认路径

时间:2025-05-16 07:05:01

是hadoop文件系统依赖的基础配置,很多路径都依赖它。它默认的位置是在/tmp/{$user}下面,但是在/tmp路径下的存储是不安全的,因为linux一次重启,文件就可能被删除。

按照hadoop Getting Start中Single Node Setup一节中的步骤走下来之后,伪分布式已经运行起来了。怎么更改默认的路径,并使其生效?请按照下面的步骤来:

1、编辑conf/,在里面加上如下属性:

<property>
  		<name></name>
  		<value>/home/had/hadoop/data</value>
 		<description>A base for other temporary directories.</description>
</property>

2、停止hadoop:   bin/

3、重新格式化namenode节点。bin/hadoop namenode -format

       注意:此处至关重要,否则namenode会启动不起来。

4、启动 bin/

5、测试bin/hadoop fs -put conf conf



总结:第三步尤为重要,一开始我使用了错误的命令:bin/hadoop fs -format 来进行格式化,但一直报连不上服务器的错误:

11/11/20 17:14:14 INFO : Retrying connect to server: localhost/127.0.0.1:9000. Already tried 0 time(s).
11/11/20 17:14:15 INFO : Retrying connect to server: localhost/127.0.0.1:9000. Already tried 1 time(s).
11/11/20 17:14:16 INFO : Retrying connect to server: localhost/127.0.0.1:9000. Already tried 2 time(s).
11/11/20 17:14:17 INFO : Retrying connect to server: localhost/127.0.0.1:9000. Already tried 3 time(s).
11/11/20 17:14:18 INFO : Retrying connect to server: localhost/127.0.0.1:9000. Already tried 4 time(s).
11/11/20 17:14:19 INFO : Retrying connect to server: localhost/127.0.0.1:9000. Already tried 5 time(s).
11/11/20 17:14:20 INFO : Retrying connect to server: localhost/127.0.0.1:9000. Already tried 6 time(s).
11/11/20 17:14:21 INFO : Retrying connect to server: localhost/127.0.0.1:9000. Already tried 7 time(s).
11/11/20 17:14:22 INFO : Retrying connect to server: localhost/127.0.0.1:9000. Already tried 8 time(s).
11/11/20 17:14:23 INFO : Retrying connect to server: localhost/127.0.0.1:9000. Already tried 9 time(s).
Bad connection to FS. command aborted. exception: Call to localhost/127.0.0.1:9000 failed on connection exception: : Connection refused

使用jps命令查看java进程发现没有NameNode的进程。

最后发现是命令用错了。应该使用bin/hadoop namenode -format 这个命令来格式化文件系统,并且应该是在启动hadoop之前进行操作。

总的来说,按照本文的步骤便可以对默认的进行更改。

本文列出作者实践过程中出现的失误,以及它们的解决办法,希望对后来者有用。