我刚刚开始使用hadoop,我正在尝试从远程hdfs(docker容器中的远程hdfs,可以从localhost:32783)通过spring hadoop,我得到以下错误:
org.springframework.data.hadoop.HadoopException:
Cannot list resources Failed on local exception:
java.io.EOFException; Host Details : local host is: "user/127.0.1.1";
destination host is: "localhost":32783;
我正在使用以下代码读取文件:
HdfsClient hdfsClient = new HdfsClient();
Configuration conf = new Configuration();
conf.set("fs.defaultFS","hdfs://localhost:32783");
FileSystem fs = FileSystem.get(conf);
SimplerFileSystem sFs = new SimplerFileSystem(fs);
hdfsClient.setsFs(sFs);
String filePath = "/tmp/tmpTestReadTest.txt";
String output = hdfsClient.readFile(filePath);
hdfsclient.readfile(filepath)的作用如下:
public class HdfsClient {
private SimplerFileSystem sFs;
public String readFile(String filePath) throws IOException {
FSDataInputStream inputStream = this.sFs.open(filePath);
output = getStringFromInputStream(inputStream.getWrappedStream());
inputStream.close();
}
return output;
}
猜猜为什么我不能从远程hdfs读取数据?删除conf.set(“fs.defaultfs”,”hdfs://localhost:32783"); 我可以读取,但只能从本地文件路径读取。
我知道hdfs://localhost:32783“是正确的,因为通过随机uri更改它会导致连接被拒绝错误
我的hadoop配置可能有问题吗?
谢谢您!
暂无答案!
目前还没有任何答案,快来回答吧!