【问题标题】:Hadoop 2.9.0 - hadoop namenode -format and hdfs-site.xml dfs.namenode.name.dirHadoop 2.9.0 - hadoop namenode -format 和 hdfs-site.xml dfs.namenode.name.dir
【发布时间】:2018-05-21 01:50:30
【问题描述】:

我的第一个问题,我会尽量不要把事情搞砸:)

我正在一个 4 节点集群上安装 Hadoop 2.9.0,用于学习目的。 我已经开始按照官方 Apache Hadoop 2.9.0 文档和一些谷歌页面安装/配置名称节点。

我编辑了位于 $HADOOP_HOME/etc/hadoop 目录下的 hdfs-site.xml,如下所示:

  <property>
    <name>dfs.namenode.name.dir</name>
    <value>file:///apps/hdfs/namenode/data</value>
  </property>
  <property>
    <name>dfs.datanode.data.dir</name>
    <value>file:///apps/hdfs/datanode/data</value>
  </property>
  <property>
    <name>dfs.namenode.checkpoint.dir</name>
    <value>file:///apps/hdfs/namesecondary/data</value>
  </property>

当我运行“hadoop namenode -format”时,它会格式化 /tmp/hadoop-hadoop/...下的默认 $hadoop.tmp.dir...

发现一些页面说将 HADOOP_CONF_DIR 设置为 XML 配置文件所在的位置(即:$HADOOP_HOME/etc/hadoop),但也有一些页面说相反,不设置它。

就我而言,它确实解决了我的问题,但不确定它是否是正确的修改?

如果有人能帮助我理解这一点,那就太好了:)

非常感谢!

【问题讨论】:

    标签: hadoop hdfs


    【解决方案1】:

    不清楚您遇到了什么问题,但HADOOP_CONF_DIR 有一个默认设置,该设置在所有 hadoop 命令之前加载的hadoop-env.sh 文件中设置。

    我相信这可能只是/etc/hadoop。至少,这是大多数集群存储配置的地方

    由于您的文件位于其他位置,因此您需要将该值导出到其他位置,这很好。

    我个人建议使用 Apache Ambari 而不是手动管理和安装超过 2 个节点。它将确保您的配置匹配并额外监控服务

    【讨论】:

    • 嗨,我来看看那个 hadoop-env.sh 文件。很可能我错过了其中的 HADOOO_CONF_DIR 设置。而对于Ambari,我会安装它,只是想先安装hdfs学习?非常感谢!
    • 在我的 $HADOOP_HOME/etc/hadoop/hadoop-env.sh 中,参数似乎设置正确:codeexport HADOOP_CONF_DIR=${HADOOP_CONF_DIR:-"/etc/hadoop"}@ 987654325@ 解析为 /etc/hadoop
    • ** 忽略上面的评论 ... ** 在我的 $HADOOP_HOME/etc/hadoop/hadoop-env.sh 中,参数似乎设置正确:export HADOOP_CONF_DIR=${HADOOP_CONF_DIR:-"/etc/hadoop"} 解析为 /etc/ hadoop 我已经在我的 .bash_profile 中定义了我的 HADOOP_HOME 并且它工作正常。我的配置文件位于默认位置 $HADOOP_HOME/etc/hadoop 下,不是吗?无论如何,正如你所建议的,我会用 Ambari 重做 :) 学习新东西很棒!
    • 不,正如所指出的,默认位置在根文件夹中,/etc/hadoop,它没有HADOOP_HOME 变量的记录。您已导出 HADOOP_CONF_DIR 使其位于 HADOOP_HOME
    • 哦,我误会了!你的字面意思是 /etc/hadoop 而不是 $HADOOP_HOME/etc/hadoop,我的错。是的,那么,我在 /etc/hadoop 下没有 hadoop 二进制文件。它位于 /apps/hdfs 下。这意味着,我应该导出那个 HADOOP_CONF_DIR,这样它就不会使用 hadoop-env.sh 文件中定义的默认位置。好的,我想这次我明白了:)非常感谢!
    猜你喜欢
    • 1970-01-01
    • 2011-09-12
    • 1970-01-01
    • 2014-09-26
    • 1970-01-01
    • 2017-08-05
    • 2014-06-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多