Как присвоить значение initial_token, используя кукол в Кассандре
Я хочу назначить initial_token
значение в cassandra.yaml
файл с использованием автоматизации кукол. Может кто-нибудь, пожалуйста, скажите мне, как это сделать.
Я не могу использовать виртуальные узлы, потому что vnodes не поддерживаются для узлов hadoop и solr.
Пример: если бы у меня был массив:
['-9223372036854775808', '-3074457345618258603', '3074457345618258602']
Мне нужно назначить каждое значение для каждого узла.
1 ответ
Вы можете сохранить этот массив в переменной в манифесте.
РЕДАКТИРОВАТЬ: если используется Cassandra =<1,2, большинство модулей Puppet Cassandra должны иметь параметр для установки этой опции. Таким образом, вы можете передать туда значение из массива. Например: https://forge.puppetlabs.com/gini/cassandra
Если вы не используете модуль для настройки Cassandra уже с этим параметром, вы можете создать шаблон Cassandra.yaml и просто использовать ERB для ввода значения из этого массива в шаблон.
http://docs.puppetlabs.com/guides/templating.html
РЕДАКТИРОВАТЬ:
Теперь я вернулся к ПК, я могу думать немного больше. Мгновенное решение, которое я могу придумать, состоит в том, чтобы определить токены в хэше либо IP-адреса узла, либо узла hostname => token - '127.0.0.1' => '-9223372036854775808'
, Это может быть создано в манифесте, или вы можете сделать это через Hiera. Если в Hiera вам нужно будет извлечь его в переменную в любом случае в манифесте.
Тогда в шаблоне вы сможете ссылаться на него <%= variableName[@::ipaddress_eth0] %>
например.