J'ai écrit mon propre programme Hadoop et je peux exécuter en utilisant le mode pseudo distribué dans mon propre ordinateur portable, cependant, lorsque je mets le programme dans le cluster, qui peut exécuter l'exemple pot de hadoop, il lance par défaut le travail local bien que je Indiquez le chemin de fichier HDFS, ci-dessous est la sortie, donnez des suggestions?
./hadoop -jar MyRandomForest_oob_distance.jar hdfs://montana-01:8020/user/randomforest/input/genotype1.txt hdfs://montana-01:8020/user/randomforest/input/phenotype1.txt hdfs://montana-01:8020/user/randomforest/output1_distance/ hdfs://montana-01:8020/user/randomforest/input/genotype101.txt hdfs://montana-01:8020/user/randomforest/input/phenotype101.txt 33 500 1 12/03/16 16:21:25 INFO jvm.JvmMetrics: Initializing JVM Metrics with processName=JobTracker, sessionId= 12/03/16 16:21:25 WARN mapred.JobClient: Use GenericOptionsParser for parsing the arguments. Applications should implement Tool for the same. 12/03/16 16:21:25 INFO mapred.JobClient: Running job: job_local_0001 12/03/16 16:21:25 INFO mapred.MapTask: io.sort.mb = 100 12/03/16 16:21:25 INFO mapred.MapTask: data buffer = 79691776/99614720 12/03/16 16:21:25 INFO mapred.MapTask: record buffer = 262144/327680 12/03/16 16:21:25 WARN mapred.LocalJobRunner: job_local_0001 java.io.FileNotFoundException: File /user/randomforest/input/genotype1.txt does not exist. at org.apache.hadoop.fs.RawLocalFileSystem.getFileStatus(RawLocalFileSystem.java:361) at org.apache.hadoop.fs.FilterFileSystem.getFileStatus(FilterFileSystem.java:245) at org.apache.hadoop.fs.ChecksumFileSystem$ChecksumFSInputChecker.<init>(ChecksumFileSystem.java:125) at org.apache.hadoop.fs.ChecksumFileSystem.open(ChecksumFileSystem.java:283) at org.apache.hadoop.fs.FileSystem.open(FileSystem.java:356) at Data.Data.loadData(Data.java:103) at MapReduce.DearMapper.loadData(DearMapper.java:261) at MapReduce.DearMapper.setup(DearMapper.java:332) at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:142) at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:621) at org.apache.hadoop.mapred.MapTask.run(MapTask.java:305) at org.apache.hadoop.mapred.LocalJobRunner$Job.run(LocalJobRunner.java:177) 12/03/16 16:21:26 INFO mapred.JobClient: map 0% reduce 0% 12/03/16 16:21:26 INFO mapred.JobClient: Job complete: job_local_0001 12/03/16 16:21:26 INFO mapred.JobClient: Counters: 0 Total Running time is: 1 secs
3 Réponses :
localJobrunner a été choisi car votre configuration a le plus probablement le paramètre Quelle est la valeur de cette propriété de configuration dans la configuration Hadoop sur la machine que vous soumettez cela de? Confirmez également que l'exécutable Hadoop Vous exécutez des références de cette configuration (et que vous n'avez pas de plus de 2 installations configurées différemment) - Type Mapred.job.tracker code> de la propriété sur
local code> ou n'a pas été défini du tout (auquel cas la valeur par défaut est local). Pour vérifier, accédez à "Où que vous ayez extrait / installé Hadoop" / etc / Hadoop / et voyez si le fichier Mapred-Site.xml existe (pour moi, un fichier appelé mappé-site.xml.template était là). Dans ce fichier (ou le créer si cela n'existe pas) Assurez-vous qu'il dispose de la propriété suivante:
hadoop jar MyRandomForest_oob_distance.jar -jt hostname:port hdfs://montana-01:8020/user/randomforest/input/genotype1.txt hdfs://montana-01:8020/user/randomforest/input/phenotype1.txt hdfs://montana-01:8020/user/randomforest/output1_distance/ hdfs://montana-01:8020/user/randomforest/input/genotype101.txt hdfs://montana-01:8020/user/randomforest/input/phenotype101.txt 33 500 1
org.apache.haadoop.mapred.jobclient.init (jobconf) code> li>
ul>
qui Hadoop code> et trace des symboles que vous rencontrez. P> Sinon, vous pouvez remplacer cela lorsque vous soumettez votre travail, si vous connaissez l'hôte Jobtracker et le numéro de port à l'aide de l'option -jt: p>
Je trouve enfin la raison, c'est parce que j'utilise -jar au lieu de JAR lors de l'exécution du programme .. :(
@ user974270 Mais pourquoi il lancera un travail local lors de l'utilisation -jar. Connaissez-vous la raison?
Je suis confronté au même problème, mais dans le mode distribué Psuedo .. Stackoverflow.com/questions/32787996/... . S'il vous plaît aider.
Quelle est l'interaction entre ces deux paramètres: mapred.job.tracker code> et
mapreduce.framework.name code>? Est-ce que l'on remplace l'autre? Est-ce que l'on demande à MR1 et à l'autre pour MR2? Que se passe-t-il lorsque vous soumettez un emploi MR1 dans un environnement de fil?
J'ai eu le même problème que chaque tâche Mapreduce V2 (MRV2) ou la tâche de fil uniquement avec le Mapred.Localjobrunner
export HADOOP_MAPRED_HOME=/usr/lib/hadoop-mapreduce
Si vous utilisez Hadoop 2 et que votre travail fonctionne localement au lieu de la cluster, assurez-vous que vous avez la configuration Checkout the Cloudera Hadoop 2 Blog Migration de l'opérateur Pour plus d'informations. P> Mapred-Site.xml code> pour contenir le
mapReduce.framework.name Code> Propriété avec une valeur de
fil code>. Vous devez également configurer un service AUX dans
Yarn-Site.xml Code> P>