【问题标题】:hadoop fs commands are showing the local filesystem not the hdfshadoop fs 命令显示本地文件系统而不是 hdfs
【发布时间】:2014-01-22 21:15:19
【问题描述】:

我在几台笔记本电脑上安装了 hadoop,以形成一个 hadoop 集群。首先,我们以伪分布式模式安装,除了一个非常完美之外(即所有服务都运行,当我使用hadoop fs 进行测试时,它显示hdfs)。在后面提到的笔记本电脑(有问题的那台)中,`hadoop fs -lscommand 显示本地目录的信息不是hdfs,命令-cat-mkdir、@ 也是如此987654327@。我可能做错了什么?

任何帮助将不胜感激

这是我的core-site.xml

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>
<property>
 <name>hadoop.tmp.dir</name>
 <value>/home/hduser/hdfs_dir/tmp</value>
 <description></description>
</property>

<property>
 <name>fs.default.name</name>
 <value>hdfs://localhost:54310</value>
 <description>.</description>
</property>
</configuration>

我必须说,这对于所有其他笔记本电脑来说都是同一个文件,而且它们工作正常。

【问题讨论】:

  • 你能分享一下core-site.xml文件吗?想知道您是否已从其默认文件中更改了属性“fs.default.name”的默认值:///

标签: hadoop hdfs


【解决方案1】:

我遇到了同样的问题,我必须确保 fs.default.name 的值包含一个尾随 / 以引用路径组件:

<property>
 <name>fs.default.name</name>
 <value>hdfs://localhost:54310/</value>
 <description>.</description>
</property>

【讨论】:

  • 让我试试,我会回来找你的...... :)
【解决方案2】:

检查core-site.xml 中的fs.default.name 是否指向正确的数据节点 例如:

<property>
     <name>fs.default.name</name>
     <value>hdfs://target-namenode:54310</value>
</property>

【讨论】:

    【解决方案3】:

    如果core-site.xml 中的fs.default.name 指向hdfs://localhost:54310/ 有或没有尾随/,即使你有同样的问题,那么你可能正在查看错误的配置文件。就我而言,它是 cloudera 的 cdh4 并检查符号链接:

    ls -l /etc/hadoop/conf
    ** /etc/hadoop/conf -> /etc/alternatives/hadoop-conf
    ls -l /etc/alternatives/hadoop-conf
    **
    /etc/alternatives/hadoop-conf -> /etc/hadoop/conf.cloudera.yarn1

    之前我使用 MRv1 并迁移到 MRv2 (YARN),升级后符号链接断开:

    ls -l /etc/hadoop/conf
    ** /etc/hadoop/conf -> /etc/alternatives/hadoop-conf
    ls -l /etc/alternatives/hadoop-conf
    **
    /etc/alternatives/hadoop-conf -> /etc/hadoop/conf.cloudera.mapreduce1
    ls -l /etc/hadoop/conf.cloudera.mapreduce1
    ls: cannot access /etc/hadoop/conf.cloudera.mapreduce1: No such file or directory

    此外,运行 update-alternatives 以对 /etc/hadoop/conf.cloudera.mapreduce1 路径具有高优先级:

    alternatives --display hadoop-conf
    hadoop-conf - status is manual.
    link currently points to /etc/hadoop/conf.cloudera.mapreduce1
    /etc/hadoop/conf.cloudera.hdfs1 - priority 90
    /etc/hadoop/conf.cloudera.mapreduce1 - priority 92
    /etc/hadoop/conf.empty - priority 10
    /etc/hadoop/conf.cloudera.yarn1 - priority 91
    Current `best' version is /etc/hadoop/conf.cloudera.mapreduce1.

    要删除具有最高优先级的旧链接,请执行以下操作:

    update-alternatives --remove hadoop-conf /etc/hadoop/conf.cloudera.mapreduce1
    rm -f /etc/alternatives/hadoop-conf
    ln -s /etc/hadoop/conf.cloudera.yarn1 /etc/alternatives/hadoop-conf

    【讨论】:

      猜你喜欢
      • 2013-08-15
      • 2015-03-28
      • 1970-01-01
      • 2013-05-24
      • 2013-08-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多