7

在我们的集群上,我们设置了动态资源池。

设置规则以便第一个纱线将查看指定的队列,然后查看用户名,然后查看主组......

但是,使用distcp我似乎无法指定队列,它只是将其设置为主组。

这就是我现在运行它的方式(不起作用):

 hadoop distcp -Dmapred.job.queue.name:root.default .......
4

3 回答 3

27

您在参数规范中犯了一个错误。

您不应该使用“:”来分隔键/值对。您应该使用“=”。

命令应该是

 hadoop distcp -Dmapred.job.queue.name=root.default .......
于 2015-11-05T11:05:27.660 回答
9

-Dmapreduce.job.queuename=root.default

于 2015-11-05T10:27:38.913 回答
2

同样,可以指示hadoop 归档以自定义队列为目标:

hadoop archive -Dmapreduce.job.queuename='<leaf.queue.name> ...

我借此响应的机会为 hadoop 存档提供提示:因为它将为每个要创建的文件创建一个映射任务(默认情况下,目标文件大小为 2GB)。在归档数 TB 的数据时,这可能会导致数以千计的地图。

hadoop 档案的 part-* 文件的大小由未记录的 har.partfile.size 控制 可以通过设置一个高于 2GiB 的值(以字节为单位)来增加它-Dhar.partfile.size=<value in bytes>

于 2020-02-19T15:59:49.867 回答