我找到了一种方法来连接通过HFTP到Hadoop的,它工作正常,(只读):如何通过java的hdfs协议访问hadoop?
uri = "hftp://172.16.xxx.xxx:50070/";
System.out.println("uri: " + uri);
Configuration conf = new Configuration();
FileSystem fs = FileSystem.get(URI.create(uri), conf);
fs.printStatistics();
不过,我想读/写,以及复制文件,那就是我要通过hdfs连接。如何启用hdfs连接,以便我可以编辑实际的远程文件系统?
我试图从“HFTP”上述更改协议 - >“HDFS”,但我得到了以下异常...
(原谅我的URL协议和Hadoop知识贫乏,我想这是一个有些奇怪的问题问的IM,但任何帮助真的理解)
异常线程“main”产生java.io.IOException:呼吁 /172.16.112.131:50070失败的地方例外:java.io .OffException at org.apache.hadoop.ipc.Client.wrapException(Client.java:1139)at org.apache.hadoop.ipc.Client.ca (Client.java:1107)at org.apache.hadoop.ipc.RPC $ Invoker.invoke(RPC.java:226)at $ Proxy0.getProtocolVersion(Unknown Source)at org.apache.hadoop.ipc。 RPC.getProxy(RPC.java:398)at org.apache.hadoop.ipc.RPC.getProxy(RPC.java:384)at org.apache.hadoop.hdfs.DFSClient.createRPCNamenode(DFSClient.java:111) at org.apache.hadoop.hdfs.DFSClient。(DFSClient.java:213)at org.apache.hadoop.hdfs.DFSClient。(DFSClient.java:180)at org.apache.hadoop.hdfs.DistributedFileSystem。初始化(DistributedFileSystem.java:89) at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:1514) at org.apache.hadoop.fs.FileSystem.access $ 200(FileSystem.java:67 )at org.apache.hadoop.fs.FileSystem $ Cache.getInternal(FileSystem.java:1548) at org.apache.hadoop.fs.FileSystem $ Cache.get(FileSystem.java:1530) at org.apache .hadoop.fs.FileSystem.get(FileSystem.java:228)在 sb.HadoopRemote.main(HadoopRemote.java:24)