デフォルトですべてのキューのミラーリングを定義したいと考えています。ノードが起動したら、現在使用する必要があります。rabbitmqctl
rabbitmqctl set_policy ha-all "" '{"ha-mode":"all"}'
ノードの 1 つに障害が発生した場合、再起動時にそのコードを再実行することを覚えておく必要があります。
ミラー化されたキューを使用するようにノードを自動的に構成する方法はありますか?
デフォルトですべてのキューのミラーリングを定義したいと考えています。ノードが起動したら、現在使用する必要があります。rabbitmqctl
rabbitmqctl set_policy ha-all "" '{"ha-mode":"all"}'
ノードの 1 つに障害が発生した場合、再起動時にそのコードを再実行することを覚えておく必要があります。
ミラー化されたキューを使用するようにノードを自動的に構成する方法はありますか?
IvanD's answerに詳細を追加するには、これが私のやり方です。
最初: sudo nano /etc/rabbitmq/rabbitmq.config
(このコマンドは、OS によって異なる場合があります)
[
{rabbit,
[
{default_vhost,<<"/">>},
{default_user,<<"someuser">>},
{default_pass,<<"somepassword">>},
{default_permissions, [<<".*">>, <<".*">>, <<".*">>]},
{default_user_tags, [administrator]}
]
},
{rabbitmq_management,
[{listener, [{port, 15672}]},
{load_definitions, "/etc/rabbitmq/rabbitmq_definitions.json"},
{http_log_dir, "/var/log/rabbitmq/management_http.log"}]
}
].
次に、追加の json を作成しますsudo nano /etc/rabbitmq/rabbitmq_definitions.json
(このコマンドは、OS によって異なる場合があります)。その内容:
{
"vhosts":[
{"name":"/"}
],
"policies":[
{"vhost":"/","name":"ha","pattern":"", "definition":{"ha-mode":"all","ha-sync-mode":"automatic","ha-sync-batch-size":5}}
]
}
重要な注意: ha-sync-batch-size は、RabbitMQ バージョン 3.6.0 でのみサポートされています! https://www.rabbitmq.com/ha.html#sync-batch-size
ウサギがそれよりも古い場合は、 から設定を削除しますrabbitmq_definitions.json
。
Ubuntu 14.04 Trusty と RabbitMQ v.3.6.2 を使用しています。