1. 程式人生 > >RabbitMQ: 從配置檔案建立叢集

RabbitMQ: 從配置檔案建立叢集

前一篇日誌簡單演示了下手動建立叢集的過程,可能你已經發現以命令列的方式建立叢集多少有些繁瑣。
RabbitMQ 提供了一種建立叢集的便捷方法——從配置檔案建立叢集。

環境變數 RABBITMQ_CLUSTER_CONFIG_FILE 指定了叢集配置檔案所在路徑,預設為:/etc/rabbitmq/rabbitmq_cluster.config。
如果需要,可以在啟動 RabbitMQ Server 前設定它來改變配置檔案路徑。
只需要把要組成叢集的各個節點以陣列的方式寫在配置檔案中即可,示例:
['[email protected]', '[email protected]', '[email protected]

'].

清除上篇文章中建立的3個節點:
# ./rabbitmqctl -n [email protected] stop_app
Stopping node [email protected] ...
...done.
# ./rabbitmqctl -n [email protected] reset
Resetting node [email protected] ...
...done.
# ./rabbitmqctl -n [email protected] stop
Stopping and halting node [email protected]

...
...done.
# ./rabbitmqctl -n [email protected] stop_app
Stopping node [email protected] ...
...done.
# ./rabbitmqctl -n [email protected] reset
Resetting node [email protected] ...
...done.
# ./rabbitmqctl -n [email protected] stop
Stopping and halting node test[email protected]
...
...done.
# ./rabbitmqctl -n [email protected] stop_app
Stopping node [email protected] ...
...done.
# ./rabbitmqctl -n [email protected] reset
Resetting node [email protected] ...
...done.
# ./rabbitmqctl -n [email protected] stop
Stopping and halting node [email protected] ...
...done.

然後分別啟動 RabbitMQ Server 即可(啟動時,以上叢集配置就會被載入到節點上)。
# export RABBITMQ_NODENAME=test1
# export RABBITMQ_NODE_PORT=5672
# ./rabbitmq-server -detached

# export RABBITMQ_NODENAME=test2
# export RABBITMQ_NODE_PORT=5673
# ./rabbitmq-server -detached

# export RABBITMQ_NODENAME=test3
# export RABBITMQ_NODE_PORT=5674
# ./rabbitmq-server -detached

檢視下3個節點的狀態:
# ./rabbitmqctl -n [email protected] status
Status of node [email protected] ...
[...,
{nodes,[[email protected],[email protected],[email protected]]},
{running_nodes,[[email protected],[email protected],[email protected]]}]
...done.
# ./rabbitmqctl -n [email protected] status
Status of node [email protected] ...
[...,
{nodes,[[email protected],[email protected],[email protected]]},
{running_nodes,[[email protected],[email protected],[email protected]]}]
...done.
# ./rabbitmqctl -n [email protected] status
Status of node [email protected] ...
[...,
{nodes,[[email protected],[email protected],[email protected]]},
{running_nodes,[[email protected],[email protected],[email protected]]}]
...done.

叢集建立完畢!

你可能會問,如何指定某個節點為 ram node 還是 disk node。
通過這種方式創建出來的節點,都是 disk node。
如果需要修改為 ram node,目前只能通過命令來完成了。