我是 Handop 的新手,我尝试为我的第一个程序加注星标。
在第一种情况下,我使用 Eclipse:运行 -> 运行配置 -> 程序参数 -> 输入输出,两个文件都在我的计算机中,我的程序运行良好。
但是当我尝试将输入更改为 hdfs 时,它不起作用。我使用 Eclipse:运行 -> 运行配置 -> 程序参数 ->hdfs://localhost:50070 输出
我尝试更改输入地址 (hdfs://127.0.1.1:50070,hdfs://pds-hadoop:50070, ) 但它始终给出同样的错误:
线程“main”中的异常 java.io.IOException:本地异常失败:com.google.protobuf.InvalidProtocolBufferException:协议(protocol)消息结束组标记与预期标记不匹配。主机详细信息:本地主机是:“pds-hadoop/127.0.1.1”;目标主机是:"localhost":50070;
我不知道问题在哪里,我不明白这个错误。我的 HDFS 工作正常,它位于 localhost:50070,我将所有文件都放到了 HDFS。
我发现 core-site.xml 在哪里:
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value>
</property> <property> <name>io.native.lib.available</name> <value>false</value>
</property></configuration>
我试着改变<value>hdfs://localhost:9000</value>
至 <value>hdfs://localhost:50070</value>
现在绝对没有什么不起作用。问题出在哪里?
最佳答案
好的,我解决了。问题是 localhost:50070 不是默认方式,而是 localhost:9000。这是什么意思,正确的方法是运行 -> 运行配置 -> 程序参数 ->hdfs://localhost:9000/输出
关于java - Eclipse Hadoop HDFS 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43951724/