gpt4 book ai didi

chef-infra - 使用 Wrapper Recipe 覆盖属性

转载 作者:行者123 更新时间:2023-12-01 05:58:18 24 4
gpt4 key购买 nike

我刚开始使用 Chef,想在我的节点上安装 Hadoop。到目前为止,我得到了这个非常简单的 Recipe ,但它不起作用。

my-hadoop/attributes/default.rb:

default['hadoop']['core_site']['fs.defaultFS'] = "Test"


my-hadoop/recipes/default.rb:

include_recipe "hadoop"

hadoop_cookbook/attributes/default.rb:

default['hadoop']['core_site']['fs.defaultFS'] = "hdfs://#{node['fqdn']}"

这是我在阅读一些博客文章后对包装器 Recipe 的理解。它正在安装 Hadoop,但每次都使用默认值。将默认值更改为任何其他优先级(如“覆盖”)并不能解决问题。

编辑:节点的运行列表只是'recipe[slave]':

slave/recipes/default:

include_recipe "my-hadoop"

最佳答案

Chef 11 requires dependencies to be set in your metadata.rb file . include_recipe 实际上只包含 Recipe 文件,因此 Chef 运行需要一些提示,以了解以何种顺序加载所需的 Recipe 。

你的slave cookbook 将依赖于my-hadoop。然后my-hadoop会依赖于hadoop_cookbook

文件 slave/metadata.rb:
depends "my-hadoop", "~> 1.5"
文件 my-hadoop/metadata.rb:
depends "hadoop_cookbook", "~> 1.3"

如果您在 slave 说明书中设置了默认属性,我相信它会起作用。

关于chef-infra - 使用 Wrapper Recipe 覆盖属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25669041/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com