Skip to content

Instantly share code, notes, and snippets.

@buuhsmead
Created September 11, 2022 18:55
Show Gist options
  • Save buuhsmead/846eef7fc24907de57893d82a0ba7079 to your computer and use it in GitHub Desktop.
Save buuhsmead/846eef7fc24907de57893d82a0ba7079 to your computer and use it in GitHub Desktop.
Red Hat AMQ Broker 2 times Master/Slave
#!/usr/bin/env bash
AMQ_BASE=$HOME/repo/amq/download/7.9/amq-broker-7.9.3
AMQ_DIR=$HOME/repo/amq/download/7.9/brokers
AMQ_SEQ=0
AQM_DATA=east
createBroker() {
AMQ_SEQ=$1
AMQ_DATA=$2
SLAVE=""
if [ "$3" == "slave" ]
then
SLAVE="--slave"
fi
$AMQ_BASE/bin/artemis create --verbose \
$SLAVE \
--no-stomp-acceptor \
--no-mqtt-acceptor \
--no-hornetq-acceptor \
--max-hops 1 \
--staticCluster tcp://broker0.testing:61616,tcp://broker1.testing:61616,tcp://broker2.testing:61616,tcp://broker3.testing:61616 \
--shared-store \
--require-login \
--role admin \
--password admin \
--user admin \
--paging \
--name broker${AMQ_SEQ} \
--message-load-balancing ON_DEMAND \
--failover-on-shutdown \
--clustered \
--cluster-user cluster_user \
--cluster-password cluster_password \
--host broker${AMQ_SEQ}.testing \
--http-host broker${AMQ_SEQ}.testing \
--data ${AMQ_DIR}/data-${AMQ_DATA} ${AMQ_DIR}/broker${AMQ_SEQ}
cp ${AMQ_BASE}/lib/artemis-prometheus-metrics-plugin-*.jar ${AMQ_DIR}/broker${AMQ_SEQ}/lib
# Add before </core> in etc/broker.xml
# <metrics-plugin class-name="org.apache.activemq.artemis.core.server.metrics.plugins.ArtemisPrometheusMetricsPlugin"/>
}
createBroker 0 east master
createBroker 1 east slave
createBroker 2 west master
createBroker 3 west slave
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment