我想要配置一个cassandra集群,并且我想要cassandra.yaml配置文件在节点之间是相同的。问题是每个节点上的listen\u地址必须不同。由于这是一个yaml文件,是否可以包含另一个yaml文件?因此,主cassandra.yaml是相同的,只是listen\u address.yaml在集群中不同。
我不确定yaml语法,但我知道它可以包含文件-cassandra会使用它吗?
[剪]。。。
请听地址:!包括listen\u address.yaml。。。
以上这些对我不起作用。Cassandra有可能吗?
2条答案
按热度按时间vybvopom1#
对于alex来说,您会发现使用实际的部署框架要容易得多。
在实现我们的之前,我使用一个简单的bash脚本进行部署。本质上,相同的yaml(和其他配置文件)被分发到每个节点(通过scp)。我预先编辑了文件,为需要更改的属性设置了常量:
然后我运行bash脚本,用一个
sed
-基于正则表达式,如下所示:wz1wpwve2#
直接在yaml文件中包含include是不可能的,但是没有什么可以阻止您使用ansible/puppet/chef或任何其他框架来处理的模板
cassandra.yaml
文件,并替换变量以生成cassandra.yaml
.