我正在使用3节点群集上的Chef自动执行HDP Hadoop群集安装。我有以下食谱,
我想在所有节点(3台服务器)中完成所有配方(1,2,3)之后,才在特定节点上运行blueprint recipe(4)。寻找使用厨师在这里做的最佳选择。
提前致谢。
答案 0 :(得分:0)
我很高兴在这方面做错了但是据我所知,没有办法和厨师一起做这样的编排。在我的头脑中,您可以在每个其他食谱的运行结束时设置一个属性,然后在您的相关配方的开头有一个警卫,在运行之前检查它们是否都是真的。
即
Ambari_Server
...
node.set['Amari_Server']['installed'] = true
Ambari_Agent
...
node.set['Amari_Agent']['installed'] = true
Metastore
...
node.set['Metastore']['installed'] = true
Blueprint
...
if node['Amari_Agent']['installed'] and node['Armari_Server']['installed'] and node['Metastore']['installed']
# Do whatever blueprint does
...
这很麻烦,可能需要多次收敛。