如何在 Hadoop MapReduce java API 中使用 Java 断言?

How to use Java assertion in Hadoop MapReduce java API?

对于java程序,我们可以使用

java -ea

启用断言检查。它在 hadoop 命令中可用吗:

hadoop jar some-mapreduce-program.jar org.foo.bar.MainJob ...

可能吗?

假设 Hadoop 2+,你可以在你的 mapred-site.xml

中设置这个 属性
<property>
    <name>mapreduce.map.java.opts</name>
    <value>-ea</value>
</property>

或者,您可以尝试在客户端选项中导出它:

export HADOOP_CLIENT_OPTS="-ea ${HADOOP_CLIENT_OPTS}"
hadoop jar some-mapreduce-program.jar org.foo.bar.MainJob ...

请注意,如果您使用集群,则应在所有节点中设置此变量。