Chef infra 使用包装器cookbook覆盖属性
我刚开始使用Chef,想在我的节点上安装Hadoop。到目前为止,我已经得到了这个非常简单的配方,但它不起作用Chef infra 使用包装器cookbook覆盖属性,chef-infra,chef-recipe,Chef Infra,Chef Recipe,我刚开始使用Chef,想在我的节点上安装Hadoop。到目前为止,我已经得到了这个非常简单的配方,但它不起作用 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:
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']}"
这是我读了一些博客文章后对包装器烹饪书的理解。它正在安装Hadoop,但每次都使用默认值。将默认值更改为任何其他优先级(如“覆盖”)并不能解决问题
编辑:节点的运行列表仅为“recipe[slave]”:
slave/recipes/default:
include_recipe "my-hadoop"
include_recipe
实际上只包含食谱文件,因此厨师运行时需要一些提示,以确定加载所需食谱的顺序
您的slave
食谱将取决于myhadoop
。然后,myhadoop
将依赖于hadoop\u食谱
文件slave/metadata.rb
:
depends "my-hadoop", "~> 1.5"
depends "hadoop_cookbook", "~> 1.3"
文件myhadoop/metadata.rb
:
depends "my-hadoop", "~> 1.5"
depends "hadoop_cookbook", "~> 1.3"
如果您在
slave
食谱中设置了默认属性,我相信它会起作用 您的节点运行列表是什么?我在您的示例中没有看到任何错误,因此运行列表可能有问题。在我的hadoop metadata.rb中应该有一本hadoop_食谱,而在运行列表中没有hadoop_食谱。@Tensibai:我在问题中添加了一些关于这方面的信息,很抱歉再次询问,但当您运行chef时,它会显示启动时的食谱加载,关于工作的优先顺序,你应该看哈多普烹饪书,然后是我的哈多普,然后是奴隶,是这样吗?看看hadoop_cokboko是如何完成的,不要给出你为什么没有得到想要的行为的线索。我的依赖文件被弄乱了,谢谢你的提示