Jobtracker d'erreur API - Appel à localhost/127.0.0.1:50030 échoué sur local exception: java.io.EOFException
Je m essaie de connecter mon jobtracker à l'aide de Java.
Ci-dessous indiqué est le programme que je suis en train d'exécuter
public static void main(String args[]) throws IOException {
Configuration conf = new Configuration();
conf.addResource(new Path(
"/home/user/hadoop-1.0.3/conf/core-site.xml"));
conf.addResource(new Path(
"/home/user/hadoop-1.0.3/conf/hdfs-site.xml"));
conf.addResource(new Path(
"/home/user/hadoop-1.0.3/conf/mapred-site.xml"));
InetSocketAddress jobtracker = new InetSocketAddress("localhost", 50030);
JobClient jobClient = new JobClient(jobtracker, conf);
jobClient.setConf(conf);
JobStatus[] jobs = jobClient.jobsToComplete();
for (int i = 0; i < jobs.length; i++) {
JobStatus js = jobs[i];
if (js.getRunState() == JobStatus.RUNNING) {
JobID jobId = js.getJobID();
System.out.println(jobId);
}
}
C'est l'exception-je obtenir.
Même si je j'ai essayer de remplacer localhost par 127.0.0.1 il ne marche pas
. La même erreur.
Exception in thread "main" java.io.IOException: Call to localhost/127.0.0.1:50030 failed on local exception: java.io.EOFException
at org.apache.hadoop.ipc.Client.wrapException(Client.java:1107)
at org.apache.hadoop.ipc.Client.call(Client.java:1075)
at org.apache.hadoop.ipc.RPC$Invoker.invoke(RPC.java:225)
at org.apache.hadoop.mapred.$Proxy1.getProtocolVersion(Unknown Source)
at org.apache.hadoop.ipc.RPC.getProxy(RPC.java:396)
at org.apache.hadoop.ipc.RPC.getProxy(RPC.java:379)
at org.apache.hadoop.mapred.JobClient.createRPCProxy(JobClient.java:480)
at org.apache.hadoop.mapred.JobClient.<init>(JobClient.java:534)
at com.tcs.nextgen.searchablemetadata.executor.factory.JobChecker.main(JobChecker.java:34)
Caused by: java.io.EOFException
at java.io.DataInputStream.readInt(DataInputStream.java:375)
at org.apache.hadoop.ipc.Client$Connection.receiveResponse(Client.java:811)
at org.apache.hadoop.ipc.Client$Connection.run(Client.java:749)
J'ai ajouté tous les pots liées à hadoop .
Je ne peux pas comprendre pourquoi le "/" est à venir entre localhost/127.0.0.1:50030
localhost/127.0.0.1:50030
est juste une représentation de chaîne, cela ne signifie pas qu'il essaie de se connecter à cette adresse. Ne vous lancez Hadoop 1.x sur votre hôte local?Assurez-vous qu'il n'y a pas d'incompatibilité de version entre votre cluster et le client version Hadoop
OriginalL'auteur K S Nidhin | 2012-10-10
Vous devez vous connecter pour publier un commentaire.
Avez-vous essayé le réel jobtracker numéro de port, plutôt que le port http (50030).
Essayer le numéro de port indiqué dans votre $HADOOP_HOME/conf/mapred-site.xml en vertu de la
mapred.job.tracker
de la propriété. Voici mon pseudo mapred-site.xml confSi vous regardez la
JobTracker.getAddress(Configuration)
méthode, vous pouvez voir qu'il utilise cette propriété si vous n'avez pas spécifier explicitement le jobtracker hôte /port:OriginalL'auteur Chris White