java - 在Eclipse中的Hadoop Mapreduce中将命令行选项传递给reducer

标签 java hadoop mapreduce jvm-arguments

我正在使用Eclipse在Windows中以伪分布式模式运行hadoop。我需要将一些选项[与jvm有关]传递给reducers。我试过使用:

<property>
    <name>mapred.reduce.child.java.opts</name>
    <value>-Dtca.TCA_PROPERTIES=C:\Users\uagrawal\workspace\TCAenv -DMDAPI=C:\Users\uagrawal\workspace\mdapi</value>
  </property>

但我没有成功。早些时候,当我使用本地独立模式时,我只需要在运行对话框中建议这些jvm选项,它们就可以很好地工作。但是在伪分布式模式下,甚至提示运行对话框中的这些参数都无法正常工作。

这是我在伪分布式模式下遇到的错误:
MDV_DATE not found....
java.lang.ClassCastException: com.itginc.tca.config.Config cannot be cast to com.itginc.tca.config.TcaConfig

以上这些错误是因为程序未获取mdapi和tcaenv文件。

最佳答案

要传递命令行参数,您需要使用-D name=value。例如
您想要为所有任务配置临时目录,然后可以使用以下命令

hadoop jar JAR.jar mainClass -D mapreduce.task.tmp.dir="/path/to/temp/dir"

不要忘了在-Dname=value之间放置空格
然后您可以配置使用GenericOptionsParser

关于java - 在Eclipse中的Hadoop Mapreduce中将命令行选项传递给reducer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17844577/

相关文章:

java - 检查 SQLITE 数据库是否为空会卡住应用程序

r - 尝试连接到Hive服务器时出现RJDBC错误:org.apache.thrift.TApplicationException:无效的方法名称: 'execute'

apache-spark - 如何将托管在 HDFS 中的配置文件传递给 Spark 应用程序?

java - 如何使用 MapReduce 将 CSV 导入 HBASE 表

java - Jmeter无法正确发送http请求

java - 在 Java 中搜索堆栈时遇到问题

spring - Hadoop JobRunner不启 Action 业

java - Hadoop MR 在 reduce 方法中保持数组引用

java - 在具有动态内存大小的机器中设置 java 堆大小

java - Hadoop MapReduce输出最大