User Tools

Site Tools


apps:rabbitmq:setup_a_rabbitmq-cluster

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
apps:rabbitmq:setup_a_rabbitmq-cluster [2021-05-08 10:34] – created Manuel Freiapps:rabbitmq:setup_a_rabbitmq-cluster [2023-02-01 21:00] (current) Manuel Frei
Line 1: Line 1:
 ====== Setup a RabbitMQ-Cluster ====== ====== Setup a RabbitMQ-Cluster ======
  
-FIXME Work in Progress!+====== Environment Information ======
  
-====== Goal ====== +  * 3 Nodes (mb1, mb2, mb3) 
- +  * Domain: int.example.org 
-  * 3 Nodes (mb1, mb2, mb3), based on CentOS8+  * Cluster name: mb.int.example.org 
 +  * Based on Rocky Linux 8
  
 ====== Prepare Repository ====== ====== Prepare Repository ======
Line 73: Line 74:
 metadata_expire=300 metadata_expire=300
 </code> </code>
 +
 +Update the cache. Accept the required keys from packetcloud.io and github.com.
 +<code>
 +dnf makecache
 +</code>
 +
 +====== Install rabbitmq-server ======
 +
 +Execute on all nodes.
 +
 +Install the RabbitMQ-Server with all dependencies.
 +<code>
 +dnf install rabbitmq-server
 +</code>
 +
 +Start the RabbitMQ-Server on system startup.
 +<code>
 +systemctl enable rabbitmq-server.service
 +</code>
 +
 +====== Set the Erlang Cookie ======
 +
 +Execute on mb1.
 +
 +All nodes in the cluster must have the same erlang cookie. We copy it fro mb1 to the other nodes.
 +
 +<code>
 +scp /var/lib/rabbitmq/.erlang.cookie mb2:/var/lib/rabbitmq/.erlang.cookie
 +scp /var/lib/rabbitmq/.erlang.cookie mb3:/var/lib/rabbitmq/.erlang.cookie
 +</code>
 +
 +====== Create Config File ======
 +
 +[[https://github.com/rabbitmq/rabbitmq-server/blob/v3.8.x/deps/rabbit/docs/rabbitmq.conf.example]]
 +
 +<code>
 +vim /etc/rabbitmq/rabbitmq.conf
 +</code>
 +
 +Example configuration file with transport security.
 +<code>
 +# Defaults
 +num_acceptors.tcp   = 10
 +handshake_timeout   = 10000
 +channel_max         = 2048
 +
 +# AMQP
 +listeners.tcp.default = 5672
 +
 +# AMQP with TLS
 +listeners.ssl.default = 5671
 + 
 +ssl_options.cacertfile = /etc/rabbitmq/chain.crt
 +ssl_options.certfile   = /etc/rabbitmq/mb1.int.example.org.crt
 +ssl_options.keyfile    = /etc/rabbitmq/mb1.int.example.org.key
 +ssl_options.verify     = verify_none
 +ssl_options.fail_if_no_peer_cert = false
 +
 +ssl_options.versions.1 = tlsv1.3
 +ssl_options.versions.2 = tlsv1.2
 +
 +# Management
 +management.ssl.port       = 15672
 +management.ssl.cacertfile = /etc/rabbitmq/chain.crt
 +management.ssl.certfile   = /etc/rabbitmq/mb1.int.example.org.crt
 +management.ssl.keyfile    = /etc/rabbitmq/mb1.int.example.org.key
 +
 +management.ssl.versions.1 = tlsv1.3
 +management.ssl.versions.2 = tlsv1.2
 + 
 +# Cluster
 +cluster_name = mb.int.example.org
 +cluster_partition_handling = autoheal
 +cluster_formation.peer_discovery_backend = classic_config
 + 
 +cluster_formation.classic_config.nodes.1 = rabbit@mb1
 +cluster_formation.classic_config.nodes.2 = rabbit@mb2
 +cluster_formation.classic_config.nodes.3 = rabbit@mb3
 +
 +# Promometheus
 +#prometheus.tcp.port = 15692
 +#prometheus.ssl.port = 15691
 +#prometheus.return_per_object_metrics = false
 +#prometheus.path = /metrics
 +</code>
 +
 +<code>
 +scp /etc/rabbitmq/rabbitmq.conf mb2:/etc/rabbitmq/
 +scp /etc/rabbitmq/rabbitmq.conf mb3:/etc/rabbitmq/
 +</code>
 +
 +
apps/rabbitmq/setup_a_rabbitmq-cluster.1620462884.txt.gz · Last modified: 2021-05-08 10:34 by Manuel Frei