Comment puis-je accéder à hadoop via le hdfs protocole de java?
J'ai trouvé un moyen pour se connecter à hadoop via hftp
, et il fonctionne très bien, (lecture seule) :
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();
Cependant, je veux lire/écrire, ainsi que la copie de fichiers, qui est, je veux me connecter sur hdfs . Comment puis-je activer le hdfs les connexions de sorte que je peux modifier le réel , système de fichiers distant ?
J'ai essayé de changer le protocole ci-dessus à partir de hftp
-> hdfs
, mais j'ai eu l'exception suivante ...
(pardonnez ma mauvaise connaissance de l'url de protocoles et d'hadoop , je suppose que c'est un peu étrange question im poser, mais toute aide serait vraiment appréciée !)
Exception in thread "main" java.io.IOException: Appel à /172.16.112.131:50070 échoué sur local exception: java.io.EOFException au org.apache.hadoop.de la cib.Client.wrapException(le Client.java:1139) at org.apache.hadoop.de la cib.Client.(appel de Client.java:1107) at org.apache.hadoop.de la cib.RPC$Invocateur.invoke(RPC.java:226) $Proxy0.getProtocolVersion(Unknown Source) at org.apache.hadoop.de la cib.RPC.getProxy(RPC.java:398) at org.apache.hadoop.de la cib.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.initialiser(DistributedFileSystem.java:89) at org.apache.hadoop.fs.Système de fichiers.createFileSystem(système de fichiers.java:1514) at org.apache.hadoop.fs.Système de fichiers.accéder à$200(système de fichiers.java:67) at org.apache.hadoop.fs.Système De Fichiers$Cache.getInternal(système de fichiers.java:1548) at org.apache.hadoop.fs.Système De Fichiers$Cache.get(système de fichiers.java:1530) at org.apache.hadoop.fs.Système de fichiers.get(système de fichiers.java:228) à sb.HadoopRemote.principale(HadoopRemote.java:24)
OriginalL'auteur jayunit100 | 2011-10-21
Vous devez vous connecter pour publier un commentaire.
Il suffit d'ajouter le
core-site.xml
et lahdfs-site.xml
de l'hadoop que vous voulez frapper àconf
, quelque chose comme ceci:OriginalL'auteur karan
Concernant hadoop : Vous devez vous assurer que le
core-site.xml
namenode entrée sert à0.0.0.0
au lieu de127.0.0.1
(localhost) dans votre configuration hadoop. Surtout, clouderasvm distro
par défautlocalhost
pour une raison quelconque.OriginalL'auteur jayunit100