【发布时间】:2018-04-18 23:04:58
【问题描述】:
目前我有一个始终需要运行的 spark 作业 (java)。它不需要太多资源。但是,每当我运行一个 sqoop 作业 (MapReduce) 时,该作业都会卡在 ACCEPTED:等待 AM 容器被分配、启动并注册到 RM。
我检查了 Ambari,用于调度的 spark 配置是公平的。为了测试,我尝试运行 2 个相同的 spark 作业并且它没有运行任何问题(两者的状态都是 RUNNING)。应该有足够的内核和内存供 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/
以下是一些图片供参考:
【问题讨论】:
标签: hadoop apache-spark mapreduce hadoop-yarn sqoop