我想使用命令行选项控制Hadoop作业重试策略。例如,我想编写以下 Sqoop 作业,并使其对 MySQL 中断具有容错能力:
sqoop
GENERIC_SQOOP_OPTIONS
-Dmap.retry.exponentialBackOff=TRUE
-Dmap.retry.numRetries=10
对于一般的Hadoop作业,它可能看起来像这样:
hadoop job -submit
GENERIC_JOB_OPTIONS
-Dmap.retry.exponentialBackOff=TRUE
-Dmap.retry.numRetries=10
是的,Hadoop"-D"参数在Sqoop中得到支持。但是,它们在命令行上的位置至关重要。它们必须直接出现在"sqoop"之后和任何其他 Sqoop 参数之前:
sqoop -Dmap.retry.exponentialBackOff=TRUE -Dmap.retry.numRetries=10 import --connect ...
请注意,不同的定位将无法按预期工作。