登峰造极境

  • WIN
    • CSharp
    • JAVA
    • OAM
    • DirectX
    • Emgucv
  • UNIX
    • FFmpeg
    • QT
    • Python
    • Opencv
    • Openwrt
    • Twisted
    • Design Patterns
    • Mysql
    • Mycat
    • MariaDB
    • Make
    • OAM
    • Supervisor
    • Nginx
    • KVM
    • Docker
    • OpenStack
  • WEB
    • ASP
    • Node.js
    • PHP
    • Directadmin
    • Openssl
    • Regex
  • APP
    • Android
  • AI
    • Algorithm
    • Deep Learning
    • Machine Learning
  • IOT
    • Device
    • MSP430
  • DIY
    • Algorithm
    • Design Patterns
    • MATH
    • X98 AIR 3G
    • Tucao
    • fun
  • LIFE
    • 美食
    • 关于我
  • LINKS
  • ME
Claves
长风破浪会有时,直挂云帆济沧海
  1. 首页
  2. 未分类
  3. 正文

ubuntu22.04 搭建rabbitmq集群测试

2023-10-27
参考链接:
https://cloud.tencent.com/developer/article/1783899
https://www.cnblogs.com/caoweixiong/p/14371487.html

计划使用RabbitMQ集群的功能,所以需要测试一下集群。

一、搭建集群

docker run -d --hostname rabbitmq01 --name rabbitmqCluster01 -v ./rabbitmq01:/var/lib/rabbitmq -p 15772:15672 -p 5772:5672 -e RABBITMQ_ERLANG_COOKIE='XCXLCEPGJKVCAEJBBXVN'   -e RABBITMQ_DEFAULT_USER=thdemo -e RABBITMQ_DEFAULT_PASS=th@demo rabbitmq:3.12-management

docker run -d --hostname rabbitmq02 --name rabbitmqCluster02 -v ./rabbitmq02:/var/lib/rabbitmq -p 15773:15672 -p 5773:5672 -e RABBITMQ_ERLANG_COOKIE='XCXLCEPGJKVCAEJBBXVN'  --link rabbitmqCluster01:rabbitmq01   -e RABBITMQ_DEFAULT_USER=thdemo -e RABBITMQ_DEFAULT_PASS=th@demo rabbitmq:3.12-management

docker run -d --hostname rabbitmq03 --name rabbitmqCluster03 -v ./rabbitmq03:/var/lib/rabbitmq -p 15774:15672 -p 5774:5672 -e RABBITMQ_ERLANG_COOKIE='XCXLCEPGJKVCAEJBBXVN'  --link rabbitmqCluster01:rabbitmq01 --link rabbitmqCluster02:rabbitmq02     -e RABBITMQ_DEFAULT_USER=thdemo -e RABBITMQ_DEFAULT_PASS=th@demo rabbitmq:3.12-management

使用Portainer.io进入集群的console页面,依次执行一下命令:

apt -y update
apt -y install vim
apt -y install iputils-ping

修改三台容器的hosts,IP需要对应实际修改:

cat <<EOF > /etc/hosts
127.0.0.1       localhost
::1     localhost ip6-localhost ip6-loopback
172.17.0.2 thdemo-rabbitmq10
172.17.0.3 thdemo-rabbitmq11
172.17.0.4 thdemo-rabbitmq12
EOF

修改三台设备的nodename:

echo "NODENAME=rabbit@thdemo-rabbitmq10" > /etc/rabbitmq/rabbitmq-env.conf

修改三台容器的rabbitmq cookies,使其一致。该 cookie 文件相当于密钥令牌,集群中的 RabbitMQ 节点需要通过交换密钥令牌以获得相互认证。

先查看thdemo-rabbitmq10的cookies:

cat /var/lib/rabbitmq/.erlang.cookie

将其余thdemo-rabbitmq11、thdemo-rabbitmq12的cookies设置为thdemo-rabbitmq10的cookies:

echo -n "XCXLCEPGJKVCAEJBBXVN" > /var/lib/rabbitmq/.erlang.cookie

重启thdemo-rabbitmq11、thdemo-rabbitmq12两台服务器。

在11、12的console中,依次执行以下命令:

# 1.停止服务
rabbitmqctl stop_app
# 2.重置状态
rabbitmqctl reset
# 3.节点加入
rabbitmqctl join_cluster rabbit@thdemo-rabbitmq10
# 4.启动服务
rabbitmqctl start_app

二、参考资料

标签: 暂无
最后更新:2023-10-27

代号山岳

知之为知之 不知为不知

点赞
< 上一篇
下一篇 >

COPYRIGHT © 2099 登峰造极境. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

蜀ICP备14031139号-5

川公网安备51012202000587号