Я нашел способ подключения к hadoop через hftp
, и он отлично работает, (только для чтения):
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, яПредположим, что это несколько странный вопрос, который я задаю, но любая помощь будет очень полезна!)
Исключение в ветке "main" java.io.IOException: Не удалось вызвать /172.16.112.131:50070локальное исключение: java.io.EOFException в org.apache.hadoop.ipc.Client.wrapException (Client.java:1139) в org.apache.hadoop.ipc.Client.call (Client.java:1107) в org.apache.hadoop.ipc.RPC $ Invoker.invoke (RPC.java:226) в $ Proxy0.getProtocolVersion (неизвестный источник) в org.apache.hadoop.ipc.RPC.getProxy (RPC.java:398) в org.apache.hadoop.ipc.RPC.getProxy (RPC.java:384) в org.apache.hadoop.hdfs.DFSClient.createRPCNamenode (DFSClient.java:111) в org.apache.hadoop.hdfs.DFSClient. (DFSClient.java:21) в org.apache.hadoop.hdfs.DFSClient. (DFSClient.java:180) в org.apache.hadoop.hdfs.DistributedFileSystem.initialize (DistributedFileSystem.java:89) в org.apache.hadoop.fs.FileSystem.createFileSystem (FileSystem.java:1514) в org.apache.hadoop.fs.FileSystem.access $ 200 (FileSystem.java:67) в org.apache.hadoop.fs.FileSystem $ Cache.getInternal (FileSystem.java:1548) в org.apache.hadoop.fs.FileSystem $ Cache.get (FileSystem.java:1530) в org.apache.hadoop.fs.FileSystem.get (FileSystem.java:228) в sb.HadoopRemote.main (HadoopRemote.java:24)