参考配置
该文章主要描述了drill on yarn最基本配置。其他配置选项可用于特殊情况。有关其他选项的信息,请参阅drill-on-yarn-example.conf。
应用名称
启动或停止Drill集群和Drill-on-YARN Web UI时,将显示应用程序名称。选择一个对您有用的名称:
app-name: "My Drill Cluster"
drill安装方式
drill压缩安装包解压后依旧和压缩包命名一致只是减去.tar.gz后缀。也就是说,apache-drill-x.y.z.tar.gz压缩安装包解压后的目录为apache-drill-x.y.z。而在特殊情况下,您可能必须创建自己的存档。如果这样做,如果您遵循相同的模式是最方便的。但是,如果无法遵循该模式,则可以使用drill-install.dir-name选项将Drill-on-YARN配置为遵循自定义模式:
drill-install:{
clientpath: "/path/to/ your-custom-archive.tar.gz"
dirname: "your-drill-directory"
}
其中,/path/to/ your-custom-archive.tar.gz是您的存档的位置。your-drill-directory 是存档中Drill目录的名称。
自定义Web UI端口
如果您为每个YARN群集运行多个Drill群集,则YARN可以选择在同一节点上放置两个Drill AM进程。要避免端口冲突,请更改一个或两个Drill集群的HTTP端口:
drill.yarn:{
http: {
port: 12345
}
}
自定义Application Master配置
以下设置适用于Application Master。所有都是前缀drill.yarn.am.
名称|描述|默认
–|--
memorymb | 以MB为单位的内存,分配给AM。| 512
vcores | 要分配给AM的CPUS数。 | 1
heap | AM的Java堆。 | 450M
node-label-expr | YARN节点标签表达式,用于选择要运行AM的节点。 | None
drillbit配置
以下Drill-on-YARN配置选项控制Drillbit进程。所有属性均以drill.yarn.drillbit开头。
名称 | 描述 | 默认
–|--
memory-mb | 内存,以MB为单位,分配给Drillbit。| 13000
vcores | 要分配给AM的CPUS数。 | 4
disks | 设定多少磁盘资源供drill使用(在支持磁盘资源的YARN版本上)。| 1
heap | Java堆内存。| 4G
max-direct-memory | Drillbit使用的直接(offheap)内存。| 8G
log-gc | 是否启用Java垃圾收集器日志记录。 | FALSE
class-path | 额外的classpath设置。| blank
请注意,Drillbit节点表达式在下面标记的池中设置。
群组配置
YARN最初设计用于可以在任何节点上运行的MapReduce作业,并且通常可以组合到单个节点上。与传统的MapReduce作业相比,Drill还有其他约束:
- 每个主机只能运行一个Drillbit(每个Drill集群)(以避免端口冲突。)
- Drillbits在与Drillbit要扫描的数据相同的主机上启动时效果最佳。
Basic Cluster配置
Basic cluster在YARN集群中的任何位置的不同节点上启动drill。Basic cluster非常适合测试和其他非正式任务:只需配置所需的vcores和内存,以及许多节点,然后启动Drill。YARN将在YARN群集的任何位置找到一组合适的主机。
Labeled Host配置
Drill-on-YARN可以直接处理节点放置,而无需使用标记的队列。可以使用“labeled”池类型。然后,将drillbit-label-expr属性设置为YARN标签表达式,该表达式与Drill应运行的节点相匹配。您通常只关心Drillbit的位置。最后,指出要在所选节点上运行的Drillbits数。
命名主机
您可以将Drill-on-YARN配置为在特定主机集上运行。但是,您必须使列表与YARN群集保持同步。如果列出YARN不可用的主机,则Drill无法在该主机上启动Drillbit。此外,如果主机没有足够的可用资源,Drillbit将无法运行。