hadoop - jobconf.limit设置为5MB时,如何在作业跟踪器中有66MB的作业配置?

标签 hadoop mapreduce

mapred.user.jobconf.limit设置为5MB时,如何在作业跟踪器中具有66MB的作业配置?

$ ls -lh /mapred/jt/jobTracker/job_201309061800_0037.xml
-rwxr-xr-x 1 mapred mapred 66M Sep  6 22:21 /mapred/jt/jobTracker/job_201309061800_0037.xml

$ cat /mapred/jt/jobTracker/job_201309061800_0037.xml | grep mapred.user.jobconf.limit
<property><name>mapred.user.jobconf.limit</name><value>5242880</value><source>mapred-default.xml</source></property>

最佳答案

您仅显示了从客户端发送的配置(job_201309061800_0037.xml)。此配置仅适用于当前作业,而对JobTracker无效。您需要在JobTracker中检查mapred-default.xml

JobTracker在初始化时将读取mapred.user.jobconf.limit。此后,内存中的该值(JobTacker中的MAX_JOBCONF_SIZE)不会更改。您可以在此处检查代码:http://www.grepcode.com/file/repository.cloudera.com/content/repositories/releases/org.apache.hadoop/hadoop-core/0.20.2-cdh3u1/org/apache/hadoop/mapred/JobTracker.java#158

我承认hadoop没有提供某种机制来指示可以由Job设置和不能由Job设置的配置。现在,我的解决方案是在hadoop源代码中搜索配置,并找出hadoop如何使用此配置。

关于hadoop - jobconf.limit设置为5MB时,如何在作业跟踪器中有66MB的作业配置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18688470/

相关文章:

Hadoop:start-dfs.sh 抛出语法错误

java - NoSuchMethodError : JobConf. getCredentials()

hadoop - Hbase 管理的 zookeeper 突然尝试连接到本地主机而不是 zookeeper quorum

php - 我可以从自定义 Web 应用程序访问 HDFS 文件吗

hadoop - reducer 的默认数量

mapreduce - 如何使用 Amazon mapreduce 解析 freebase 四重转储

Python从HDFS读取文件作为流

python - 我什么时候使用谷歌的 MapReduce

java - Spark java.lang.StackOverflowError

ruby-on-rails - Mongoid 有 Map/Reduce 吗?