gpt4 book ai didi

java - 用于在 hdfs 中列出目录的主机和端口

转载 作者:可可西里 更新时间:2023-11-01 14:16:14 40 4
gpt4 key购买 nike

首先,我使用 HortonWorks Sandbox 作为 Hadoop dist,完全没有自定义配置。

一旦连接到沙箱,我就可以列出 HDFS 目录的文件:

[root@sandbox ~]# hadoop fs -ls hdfs:///user/guest

但如果我尝试指定主机和端口,我只会收到错误消息:

[root@sandbox ~]# hadoop fs -ls hdfs://localhost:8020/user/guest
ls:从 sandbox.hortonworks.com/10.0.2.15 到 localhost:8020 的调用在连接异常时失败:java.net.ConnectException:Connexion refusée;有关详细信息,请参阅:http://wiki.apache.org/hadoop/ConnectionRefused

[root@sandbox ~]# hadoop fs -ls hdfs://localhost:9000/user/guest
ls:从 sandbox.hortonworks.com/10.0.2.15 到 localhost:9000 的调用在连接异常时失败:java.net.ConnectException:Connexion refusée;有关详细信息,请参阅:http://wiki.apache.org/hadoop/ConnectionRefused

一旦我知道要使用的正确主机和端口,我就可以在我的 Java 调用中使用它们:

Path pt = new Path("hdfs://host:port/user/guest/test-text-file.txt");

最佳答案

检查 core-site.xml 中属性 fs.defaultFS 的值,其中包含 NameNode 守护程序在其上绑定(bind)的 ip 地址/主机名和端口开始了。

我看到您正在使用 hortonworks 沙箱,这是 core-site.xml 中的属性,它位于 /etc/hadoop/conf/core-site.xml

<property>
<name>fs.defaultFS</name>
<value>hdfs://sandbox.hortonworks.com:8020</value>
</property>

所以,你可以尝试这样的事情:

hadoop fs -ls hdfs://sandbox.hortonworks.com:8020/user/guest 

或者您也可以从 /etc/hosts 中的相应条目替换 sandbox.hortonworks.com 的 IP 地址,在我的虚拟机上看起来像这样:

127.0.0.1       localhost.localdomain localhost
192.168.1.3 sandbox.hortonworks.com sandbox

所以,我也可以试试这个:

hadoop fs -ls hdfs://192.168.1.3:8020/user/guest

关于java - 用于在 hdfs 中列出目录的主机和端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27106862/

40 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com