2019-05-19 hdfs更换本地目录

2019-05-19  本文已影响0人  胡生生
原来默认在/tmp目录下,重启之后会消失,仅限于开发测试使用,生产必须配置在能够持续保存的位置,如/opt
hadoop 2.7.7
a.停止hadoop集群
b.修改配置文件core-site.xml并分发到其他每台计算机
<configuration>
        <property>
                <name>fs.defaultFS</name>
                <value>hdfs://namenode/</value>
        </property>
        <!--- 配置新的本地目录 -->
        <property>
                <name>hadoop.tmp.dir</name>
                <value>/opt/hadoop/</value>
        </property>
</configuration>
//以下属性均由hadoop.tmp.dir决定,在hdfs-site.xml文件中配置。
c.因为更换本地目录,需要对新配置的目录进行格式化(不要忘记)
hadoop namenode -format
或
hdfs namenode -format
d.删除原来本地目录和日志目录残留的内容
日志在hadoop安装目录中,在logs目录下,删除这个文件夹下的所有内容
原来的本地目录在/tmp下,删除相关的hadoop文件夹
e.重启集群
start-all.sh
1.记得同步配置文件
2.记得删除原来的日志文件和本地目录
3.记得格式化,否则namenode起不来,并报如下错误:
2019-05-14 09:16:42,569 ERROR org.apache.hadoop.hdfs.server.namenode.NameNode: Failed to start namenode.
org.apache.hadoop.hdfs.server.common.InconsistentFSStateException: Directory /home/hadoop/hadoop/dfs/name is in an inconsistent state: storage directory does not exist or is not accessible.
        at org.apache.hadoop.hdfs.server.namenode.FSImage.recoverStorageDirs(FSImage.java:382)
        at org.apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.java:233)
        at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.loadFSImage(FSNamesystem.java:983)
        at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.loadFromDisk(FSNamesystem.java:686)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.loadNamesystem(NameNode.java:586)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:646)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:820)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:804)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1516)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1582)

上一篇 下一篇

猜你喜欢

热点阅读