如何为 sqoop 作业设置 vcore

Posted

技术标签:

【中文标题】如何为 sqoop 作业设置 vcore【英文标题】:How to set vcores for sqoop job 【发布时间】:2017-09-13 11:24:11 【问题描述】:

sqoop 是如何获取 vcore 来执行的。我提交了一个包含 4 个映射器的 sqoop 作业,即使有大约 50 个 vcore 可用,应用程序也以 1 个 vcore 开始。所以没有并行化。这是将 sqoop 作业导入文本文件。这些是纱线中关于 vcrore 分配的配置参数。 sqoop 作业如何获取 vcore 以执行?

<property>
<name>yarn.scheduler.maximum-allocation-vcores</name>
<value>4</value>
<source>yarn-site.xml</source>
</property>

<property>
<name>yarn.app.mapreduce.am.resource.cpu-vcores</name>
<value>1</value>
<source>mapred-default.xml</source>
</property>

<property>
<name>mapreduce.reduce.cpu.vcores</name>
<value>1</value>
<source>mapred-default.xml</source>
</property>

<property>
<name>yarn.nodemanager.resource.cpu-vcores</name>
<value>8</value>
<source>yarn-default.xml</source>
</property>

<property>
<name>mapreduce.map.cpu.vcores</name>
<value>1</value>
<source>mapred-default.xml</source>
</property>

<property>
<name>yarn.scheduler.minimum-allocation-vcores</name>
<value>1</value>
<source>yarn-site.xml</source>
</property>

<property>
<name>yarn.scheduler.increment-allocation-vcores</name>
<value>1</value>
<source>yarn-site.xml</source>
</property>

【问题讨论】:

【参考方案1】:

来自https://sqoop.apache.org/docs/1.4.6/SqoopUserGuide.html#_controlling_parallelism

Sqoop 从大多数数据库源并行导入数据。您可以使用 -m 或 --num-mappers 参数指定用于执行导入的映射任务(并行进程)的数量。

映射任务与 vcore 相同。

【讨论】:

谢谢。我将 --num-mappers 提供给 4 并且我可以选择的行为是有时我获得并行性,为每个映射器分配 1 个 4 个 vcore)并且有时应用程序仅获得 1 个 vcore(即使有超过 1 个可用的 vcore)每个映射器一个接一个地运行。我不明白为什么会这样。

以上是关于如何为 sqoop 作业设置 vcore的主要内容,如果未能解决你的问题,请参考以下文章

如何为 Kubernetes 作业设置时间限制?

如何为codeigniter设置cron作业url?

Pentaho 水壶:如何为转换/作业设置测试?

如何为服务器上的 codeigniter 脚本设置 cron 作业

如何为网络爬虫设置有效的 cron 作业

如何为 GradleWorkerMain 设置 JVM 选项?