java - Eclipse Hadoop HDFS 异常

标签 java linux eclipse hadoop hdfs

我是 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/

相关文章:

java - Eclipse java 编辑器将生成的 (Groovy) 方法标记为未定义

java - 为一个具有硬限制保证的线程使用执行程序是否有意义?

java - Web 服务器向 J2ME 应用程序发送命令

linux - Mercurial SSH 连接在 Linux RedHat 5 上失败

linux - 如何在 64 位机器上测试 32 位内核特定的系统调用?

android - SDK Manager 是否支持 windows-8

android - Postgresql 与 Android 应用程序的连接

java - Android AES/CBC/PKCS5Padding 加密

java - URL 变量 "contains"字符串,但应包含对 URL 实例的引用

c++ - 将 C++ Win32 应用程序移植到 linux 应用程序