hadoop - 在 Ansible 中,如何访问 "number of disks"变量?

标签 hadoop yaml ansible

我正在研究通过 Ansible 模板调整 MapR Hadoop。

根据系统上的 CPU 线程数调整某些内容非常容易。例如,将 reduce 任务设置为线程的 1/4:

<name>mapred.tasktracker.reduce.tasks.maximum</name>
<value>{{ (ansible_processor_vcpus / 4)|int }}</value>

一个资源建议 map/reduce 任务的数量应该与系统上的磁盘 数量成比例。我没有看到任何可比较的变量。

有一个 ansible_devices 数组,其中包含 sda、sdb 和 &c。也许我可以算一下?或许应用过滤器,以便我只计算 Hadoop 可用的磁盘?

最佳答案

也许 length :

<name>mapred.tasktracker.reduce.tasks.maximum</name>
<value>{{ (ansible_devices|length) / 4 }}</value>

关于hadoop - 在 Ansible 中,如何访问 "number of disks"变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31684734/

相关文章:

perl - 保留 YAML 订单 perl

Python Ansible API 仅在控制节点中执行命令,不在远程节点中执行命令

ansible - Ansible 可以在运行 playbook 之前检查密码是否正确吗?

yaml - Jekyll 网站上所有作者的列表

ansible - ansible playbook 任务中 shell 命令执行失败时如何仅打印 stderr_lines

python - 将Django后端中的大文件从Angular前端重定向到Hadoop时出错

java - Hadoop-执行终端,使用mapreduce命令

hadoop - 在基于HDFS的实际大数据项目中,解决数据集成难题的一般程序是什么?

r - 使用 sparklyr 删除/更新分区

python - PyYAML 错误 : "yaml.scanner.ScannerError: mapping values are not allowed here"