hadoop - 将命令行参数传递给 jvm(java) 映射器任务

标签 hadoop mapreduce

我想调试我的映射器的某些部分,为此我需要将一些命令行参数传递给启动映射器的 jvm(java) 进程。有哪些不同的方法可以做到这一点?

我找到了一种更改 MapTaskRunner.java 的方法,但我想避免编译整个 hadoop 包。应该有一些简单的方法使用配置文件将额外的命令行参数传递给 jvm 映射器进程。

最佳答案

我猜你正在寻找 mapred-config.xml 中的以下配置:

<property>
    <name>mapred.child.java.opts</name>
    <value>-Xmx4096m -XX:+UseConcMarkSweepGC</value>
</property>

在值部分,您可以使用 -D 设置参数。

或者,您可以在终端中设置 HADOOP_OPTS:

export HADOOP_OPTS="-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5000"

有关本地调试 hadoop 作业的更多信息,请参阅 here .

关于hadoop - 将命令行参数传递给 jvm(java) 映射器任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15286333/

相关文章:

java - hadoop 任务副作用文件

hadoop - 无法连接到 Cloudera Manager,未监听端口 7180

hadoop - 如何增加 HBase 表中的区域数

javascript - 如何在java中的mapReduce中调用mongodb服务器端函数

c# - 多 map /减少在 RavenDb 中工作吗?

mapreduce - RavenDB 索引与映射减少不同

rest - 在hadoop中,通过knox + webhdfs可以访问的数据大小有限制吗?

ubuntu - hive 壳未启动

hive - hadoop WordCount 卡在 map 0% 减少 0%

hadoop - 在 java map reduce 中选择不同的查询