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 应用程序。
目前我有一个 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 应用程序。