我正在研究通过Ansible模板调整MapR Hadoop。
将某些内容调整为系统中找到的CPU线程数是很容易的。例如,要将reduce任务设置为1/4的线程:
<name>mapred.tasktracker.reduce.tasks.maximum</name>
<value>{{ (ansible_processor_vcpus / 4)|int }}</value>
一个资源表明,map / reduce任务的数量应该缩放到系统上的磁盘的数量。我没有看到任何类似的变量。
有一个带有sda,sdb和c的ansible_devices
数组。也许我算数呢?也许应用过滤器,所以我只计算Hadoop可用的磁盘?
答案 0 :(得分:1)
也许length:
<name>mapred.tasktracker.reduce.tasks.maximum</name>
<value>{{ (ansible_devices|length) / 4 }}</value>