Hadoop 伪分布式下更换默认hadoop.tmp.dir路径

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

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

1、编辑conf/core-site.xml,在里面加上如下属性:

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

2、停止hadoop:   bin/stop-all.sh

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

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

4、启动 bin/start-all.sh

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



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

11/11/20 17:14:14 INFO ipc.Client: Retrying connect to server: localhost/127.0.0.1:9000. Already tried 0 time(s).
11/11/20 17:14:15 INFO ipc.Client: Retrying connect to server: localhost/127.0.0.1:9000. Already tried 1 time(s).
11/11/20 17:14:16 INFO ipc.Client: Retrying connect to server: localhost/127.0.0.1:9000. Already tried 2 time(s).
11/11/20 17:14:17 INFO ipc.Client: Retrying connect to server: localhost/127.0.0.1:9000. Already tried 3 time(s).
11/11/20 17:14:18 INFO ipc.Client: Retrying connect to server: localhost/127.0.0.1:9000. Already tried 4 time(s).
11/11/20 17:14:19 INFO ipc.Client: Retrying connect to server: localhost/127.0.0.1:9000. Already tried 5 time(s).
11/11/20 17:14:20 INFO ipc.Client: Retrying connect to server: localhost/127.0.0.1:9000. Already tried 6 time(s).
11/11/20 17:14:21 INFO ipc.Client: Retrying connect to server: localhost/127.0.0.1:9000. Already tried 7 time(s).
11/11/20 17:14:22 INFO ipc.Client: Retrying connect to server: localhost/127.0.0.1:9000. Already tried 8 time(s).
11/11/20 17:14:23 INFO ipc.Client: 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: java.net.ConnectException: Connection refused

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

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

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

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

你可能感兴趣的:(hadoop,linux,exception,server,command,服务器)