我找到了一種方法來連接通過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)