【问题标题】:Why do we need to format HDFS after every time we restart machine?为什么每次重启机器后都需要格式化HDFS?
【发布时间】:2013-11-22 10:06:09
【问题描述】:

我在笔记本电脑上安装了伪分布式模式的 Hadoop,操作系统是 Ubuntu。

我更改了 hadoop 存储数据的路径(默认情况下,hadoop 将数据存储在 /tmp 文件夹中)

hdfs-site.xml 文件如下:

<property>
    <name>dfs.data.dir</name>
    <value>/HADOOP_CLUSTER_DATA/data</value>
</property>

现在,每当我重新启动机器并尝试使用 start-all.sh 脚本启动 hadoop 集群时,数据节点永远不会启动。我通过检查日志和使用jps 命令确认数据节点不是启动的。

然后我

  1. 使用stop-all.sh 脚本停止了集群。
  2. 使用hadoop namenode -format 命令格式化HDFS。
  3. 使用start-all.sh 脚本启动集群。

即使我停止并重新启动集群,现在一切正常。只有当我重新启动机器并尝试启动集群时才会出现问题。

  • 有没有人遇到过类似的问题?
  • 为什么会发生这种情况以及
  • 我们如何解决这个问题?

【问题讨论】:

  • 您现在的默认位置是?
  • @sonic,我已根据您的评论修改了我的问题。
  • 你有下面的答案:)

标签: hadoop ubuntu-11.04


【解决方案1】:

通过将dfs.datanode.data.dir 更改为远离/tmp,您确实使数据(块)在重新启动后仍然存在。然而,HDFS 不仅仅是块。您需要确保所有相关目录都远离/tmp,尤其是dfs.namenode.name.dir(我不知道您必须更改哪些其他目录,这取决于您的配置,但namenode 目录是强制性的,可能是也足够了)。

我还建议使用更新的 Hadoop 发行版。顺便说一句,1.1 namenode dir 设置是dfs.name.dir

【讨论】:

    【解决方案2】:

    对于使用hadoop 2.0或以上版本的用户,配置文件名可能会有所不同。

    正如answer 指出的那样,转到您的hadoop 安装的/etc/hadoop 目录。

    打开文件 hdfs-site.xml。这个user configuration will override the default hadoop configurations,之前是java类加载器加载的。

    添加dfs.namenode.name.dir 属性并设置一个新的namenode dir(默认为file://${hadoop.tmp.dir}/dfs/name)。

    dfs.datanode.data.dir 属性执行相同操作(默认为file://${hadoop.tmp.dir}/dfs/data)。

    例如:

    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/Users/samuel/Documents/hadoop_data/name</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/Users/samuel/Documents/hadoop_data/data</value>
    </property>
    

    出现 tmp 目录的其他属性是 dfs.namenode.checkpoint.dir。其默认值为:file://${hadoop.tmp.dir}/dfs/namesecondary

    如果需要,您也可以轻松添加此属性:

    <property>
        <name>dfs.namenode.checkpoint.dir</name>
        <value>/Users/samuel/Documents/hadoop_data/namesecondary</value>
    </property>
    

    【讨论】:

    • 完成此操作后,不要忘记格式化文件系统,例如:$HADOOP_HOME/bin/hdfs namenode -format。如果未设置 var,请将 $HADOOP_HOME 环境变量替换为 hadoop 的绝对路径。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-06
    相关资源
    最近更新 更多