| <?xml version="1.0"?> |
| |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one |
| or more contributor license agreements. See the NOTICE file |
| distributed with this work for additional information |
| regarding copyright ownership. The ASF licenses this file |
| to you under the Apache License, Version 2.0 (the |
| "License"); you may not use this file except in compliance |
| with the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, |
| software distributed under the License is distributed on an |
| "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| KIND, either express or implied. See the License for the |
| specific language governing permissions and limitations |
| under the License. |
| --> |
| |
| <!-- |
| This is an example of a cluster.conf file to run qpidd HA under rgmanager. |
| This example assumes a 3 node cluster, with nodes named node1, node2 and node3. |
| |
| NOTE: fencing is not shown, it should be configured in a real cluster configuration. |
| --> |
| |
| <cluster name="qpid-test" config_version="18"> |
| <!-- The cluster has 3 nodes. Each has a unique nodid and one vote |
| for quorum. --> |
| <clusternodes> |
| <clusternode name="node1.example.com" nodeid="1"/> |
| <clusternode name="node2.example.com" nodeid="2"/> |
| <clusternode name="node3.example.com" nodeid="3"/> |
| </clusternodes> |
| <!-- Resouce Manager configuration. --> |
| <rm> |
| <!-- |
| There is a failoverdomain for each node containing just that node. |
| This lets us stipulate that the qpidd service should always run on each node. |
| --> |
| <failoverdomains> |
| <failoverdomain name="node1-domain" restricted="1"> |
| <failoverdomainnode name="node1.example.com"/> |
| </failoverdomain> |
| <failoverdomain name="node2-domain" restricted="1"> |
| <failoverdomainnode name="node2.example.com"/> |
| </failoverdomain> |
| <failoverdomain name="node3-domain" restricted="1"> |
| <failoverdomainnode name="node3.example.com"/> |
| </failoverdomain> |
| </failoverdomains> |
| |
| <resources> |
| <!-- This script starts a qpidd broker acting as a backup. --> |
| <script file="!!sysconfdir!!/init.d/qpidd" name="qpidd"/> |
| |
| <!-- This script promotes the qpidd broker on this node to primary. --> |
| <script file="!!sysconfdir!!/init.d/qpidd-primary" name="qpidd-primary"/> |
| |
| <!-- This is a virtual IP address for broker replication traffic. --> |
| <ip address="20.0.10.200" monitor_link="1"/> |
| |
| <!-- This is a virtual IP address on a seprate network for client traffic. --> |
| <ip address="20.0.20.200" monitor_link="1"/> |
| </resources> |
| |
| <!-- There is a qpidd service on each node, it should be restarted if it fails. --> |
| <service name="node1-qpidd-service" domain="node1-domain" recovery="restart"> |
| <script ref="qpidd"/> |
| </service> |
| <service name="node2-qpidd-service" domain="node2-domain" recovery="restart"> |
| <script ref="qpidd"/> |
| </service> |
| <service name="node3-qpidd-service" domain="node3-domain" recovery="restart"> |
| <script ref="qpidd"/> |
| </service> |
| |
| <!-- There should always be a single qpidd-primary service, it can run on any node. --> |
| <service name="qpidd-primary-service" autostart="1" exclusive="0" recovery="relocate"> |
| <script ref="qpidd-primary"/> |
| <!-- The primary has the IP addresses for brokers and clients to connect. --> |
| <ip ref="20.0.10.200"/> |
| <ip ref="20.0.20.200"/> |
| </service> |
| </rm> |
| <fencedevices/> |
| <fence_daemon clean_start="0" post_fail_delay="0" post_join_delay="3"/> |
| </cluster> |