Wie kann ich Zugang zu hadoop über die hdfs-Protokoll von java?
Fand ich einen Weg, um eine Verbindung zu hadoop über hftp
, und es funktioniert einwandfrei (nur Lesen) :
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();
Allerdings möchte ich Lesen/schreiben sowie kopieren von Dateien, das heißt, ich möchte eine Verbindung über hdfs . Wie kann ich die hdfs-verbindungen, so dass ich Bearbeiten können , die tatsächliche, remote-filesystem ?
Habe ich versucht zu ändern, das Protokoll über die von hftp
-> hdfs
, aber ich bekam die folgende Ausnahme ...
(verzeihen Sie meine mangelnde Kenntnis der url-Protokolle und hadoop , ich nehme an, dies ist eine etwas komische Frage, im Fragen, aber jede Hilfe wäre wirklich dankbar !)
Exception in thread "main" java.io.IOException: Aufruf /172.16.112.131:50070 nicht auf lokale exception: java.io.EOFException bei org.apache.hadoop.ipc.Client.wrapException(Client.java:1139) an der org.apache.hadoop.ipc.Client.Aufruf(Client.java:1107) bei org.apache.hadoop.ipc.RPC$Invoker.aufrufen(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) auf org.apache.hadoop.hdfs.DFSClient.createRPCNamenode(DFSClient.java:111) at org.apache.hadoop.hdfs.DFSClient.(DFSClient.java:213) auf org.apache.hadoop.hdfs.DFSClient.(DFSClient.java:180) at org.apache.hadoop.hdfs.DistributedFileSystem.initialize(DistributedFileSystem.java:89) at org.apache.hadoop.fs.Dateisystem.createFileSystem(FileSystem.java:1514) auf org.apache.hadoop.fs.Dateisystem.access$200(FileSystem.java:67) at org.apache.hadoop.fs.Dateisystem$Cache.getInternal(FileSystem.java:1548) in org.apache.hadoop.fs.Dateisystem$Cache.bekommen(das Dateisystem.java:1530) auf org.apache.hadoop.fs.Dateisystem.bekommen(das Dateisystem.java:228) at sb.HadoopRemote.main(HadoopRemote.java:24)
InformationsquelleAutor jayunit100 | 2011-10-21
Du musst angemeldet sein, um einen Kommentar abzugeben.
Fügen Sie einfach die
core-site.xml
und diehdfs-site.xml
des hadoop-Sie wollen zu treffen, umconf
so etwas wie dieses:InformationsquelleAutor karan
Bezug auf hadoop : Sie müssen sicherstellen, dass die
core-site.xml
namenode-Eintrag wird dazu dienen, zu0.0.0.0
statt127.0.0.1
(localhost) in Ihrem hadoop-Konfiguration. Wichtig ist, clouderasvm distro
standardmäßiglocalhost
aus irgendeinem Grund.InformationsquelleAutor jayunit100