Hadoop - 当有 spark 作业时,Sqoop 作业卡在已接受状态 运行

Hadoop - Sqoop job stuck on ACCEPTED when there is a spark job RUNNING

目前我有一个 spark 作业 (java),它总是需要 运行ning。它不需要太多资源。但是,每当我 运行 一个 sqoop 作业(MapReduce)时,该作业就会卡在已接受状态:等待分配、启动并向 RM 注册 AM 容器。

我检查了 Ambari,用于调度的 spark 配置是公平的。为了进行测试,我尝试 运行 2 个相同的 spark 作业,它 运行 没问题(两者的状态都是 运行)。应该有足够的核心和内存留给 map reduce 作业到 运行.

Spark 提交命令:

/usr/hdp/current/spark-client/bin/spark-submit \
  --class com.some.App \
  --master yarn-cluster \
  --deploy-mode cluster \
  --num-executors 1 \
  /path/to/file.jar "some.server:6667" "Some_App" "Some_App_Parser" "some.server"
jdbc:jtds:sqlserver://some.server:1433/HL7_Metadata
&; done

我的 sqoop 命令,我添加了内存限制但没有帮助:

sqoop import -D mapreduce.map.memory.mb=2048 \
    --connect "jdbc:sqlserver://some.server\SQL2012;database=SomeDB;username=someUser;passwor =somePass" \
    --e "SELECT SOMETHING" where  $CONDITIONS"\
    --fields-terminated-by \002 \
    --escaped-by \ \
    --check-column Message_Audit_Log_Id \
    --incremental append \
    --last-value 1 \
    --split-by Message_Audit_Log_Id \
    --target-dir /target/path/

这里有一些图片供参考:

我在 Hortonworks 上找到了帮助。

我不得不将 yarn.scheduler.capacity.maximum-am-resource-percent 从 0.2 更改为 0.4。

在此之后,我可以同时 运行 sqoop map reduce 作业和我的 spark 应用程序。

Link 回答 https://community.hortonworks.com/questions/147101/hadoop-sqoop-job-stuck-on-accepted-when-there-is-a.html