Hadoop学习笔记1

按照官方文档,很快就搭建好伪分布式模式。

可重启系统后却发现连不上 : “INFO ipc.Client: Retrying connect to server: localhost/127.0.0.1:9000. Already tried 0 time(s)”.

通过查看日记发现:

2011-07-05 18:37:25,133 ERROR org.apache.hadoop.hdfs.server.namenode.FSNamesystem: FSNamesystem initialization failed.
org.apache.hadoop.hdfs.server.common.InconsistentFSStateException: Directory /tmp/hadoop-gil/dfs/name is in an inconsistent state: storage directory does not exist or is not accessible.
    at org.apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.java:291)
    at org.apache.hadoop.hdfs.server.namenode.FSDirectory.loadFSImage(FSDirectory.java:97)
    at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.initialize(FSNamesystem.java:379)
    at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.<init>(FSNamesystem.java:353)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:254)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:434)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1153)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1162)

 

于是在/tmp/hadoop-xxx/dfs目录下并不能找到name 目录,原来linux /tmp目录是临时文件存放目录,系统会定期清理过期的临时文件。

通过修改hadoop core-site.xml配置文件:

<property>
    <name>hadoop.tmp.dir</name>
    <value>/.../hadoop/data</value> <!-- 你指定非临时文件目录 --!>
</property>

 

然后再$ bin/hadoop namenode -format

         $ bin/start-all.sh

 

OK,又好了。

 

接着发现更改hadoop-core-xxx.jar下的core-default.xml文件也可以。

<property>
      <name>hadoop.tmp.dir</name>
      <value>/tmp/hadoop-${user.name}</value>
      <description>A base for other temporary directories.</description>
</property>

 

你可能感兴趣的:(hadoop)