gpt4 book ai didi

local - hadoop默认只启动本地作业,为什么?

转载 作者:行者123 更新时间:2023-12-04 13:20:30 27 4
gpt4 key购买 nike

我已经编写了自己的 hadoop 程序,并且可以在自己的笔记本电脑上使用伪分发模式运行,但是,当我将程序放在可以运行 hadoop 示例 jar 的集群中时,尽管我指示 hdfs,但默认情况下它会启动本地作业文件路径,下面是输出,给点建议?

./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

最佳答案

LocalJobRunner 已被选为您的配置,很可能有 mapred.job.tracker属性设置为 local或根本没有设置(在这种情况下,默认为本地)。要检查,请转到“无论您提取/安装 hadoop 的位置”/etc/hadoop/并查看文件 mapred-site.xml 是否存在(对我来说它不存在,一个名为 mapped-site.xml.template 的文件在那里)。在该文件中(或者如果它不存在则创建它)确保它具有以下属性:

<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
  • 查看 org.apache.hadoop.mapred.JobClient.init(JobConf) 的来源

  • 在您提交它的机器上的 hadoop 配置中,这个配置属性的值是多少?还要确认您正在运行的 hadoop 可执行文件引用了此配置(并且您没有 2 次以上的安装配置不同) - 键入 which hadoop并跟踪您遇到的任何符号链接(symbolic link)。

    或者,如果您使用 -jt 选项知道 JobTracker 主机和端口号,则可以在提交作业时覆盖它:
    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

    关于local - hadoop默认只启动本地作业,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9740999/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com