【发布时间】:2015-03-18 23:53:50
【问题描述】:
设置 yaml 设置的最佳方法是什么?我正在使用 docker 容器,并希望自动化设置 cassandra.yaml 设置的过程,例如种子、listen_address 和 rpc_address。
我在其他 yaml 工具中看到过类似的东西:
提前致谢
【问题讨论】:
标签: cassandra cassandra-2.0 cassandra-cli
设置 yaml 设置的最佳方法是什么?我正在使用 docker 容器,并希望自动化设置 cassandra.yaml 设置的过程,例如种子、listen_address 和 rpc_address。
我在其他 yaml 工具中看到过类似的东西:
提前致谢
【问题讨论】:
标签: cassandra cassandra-2.0 cassandra-cli
我不知道“最佳”方式,但是当我在几个 vagrant vm 上设置脚本化的 cassandra 服务器集群时,我使用 puppet 在 cassandra.yaml 中设置种子等。
我确实编写了一些脚本,而不是使用 puppetdb 来跟踪主机的地址,但这并不是非常成功。问题是最先出现的节点只有自己在种子列表中,因此倾向于自己创建一个集群。然后其余的将作为一个单独的集群出现。所以我不得不关闭单节点,清除它并使用正确的配置重新启动它
如果我现在这样做,我会将地址设置为静态 ip,然后使用它们为所有节点上的 cassandra.yaml 文件填写模板。然后希望节点能对其他集群成员提出正确的想法。
我对 Docker 没有任何经验,但他们确实说使用 puppet+Docker 的方法是在启动之前在 Docker 容器上使用 puppet
请注意,您需要大量内存才能完成这项工作。我有一台 16GB 的机器,这有点可疑。
【讨论】:
感谢您提供信息。
我正在考虑使用https://github.com/go-yaml/yaml
但这家伙成功了:https://github.com/abh1nav/docker-cassandra
谢谢
【讨论】:
如果您在 Docker 中运行 Cassandra,请使用以下示例:https://github.com/tobert/cassandra-docker 您可以在启动时覆盖集群名称/种子,因此您用于部署容器的任何配置管理工具都可以执行类似的操作。
【讨论】: