RabbitMQ集群(非常详细总结)

举报
lxw1844912514 发表于 2022/03/27 00:15:19 2022/03/27
【摘要】 RabbitMQ安装: ## 1. 首先在Linux上进行一些软件的准备工作,yum下来一些基础的软件包yum install build-essential openssl openssl-devel unixODBC unixODBC-devel make gcc gcc-c++ kernel-devel m4 ncurse...

RabbitMQ安装:


   
  1. ## 1. 首先在Linux上进行一些软件的准备工作,yum下来一些基础的软件包
  2. yum install build-essential openssl openssl-devel unixODBC unixODBC-devel make gcc gcc-c++ kernel-devel m4 ncurses-devel tk tc xz
  3. ## 2. 下载RabbitMQ所需软件包(本神在这里使用的是 RabbitMQ3.6.5 稳定版本)
  4. wget www.rabbitmq.com/releases/erlang/erlang-18.3-1.el7.centos.x86_64.rpm
  5. wget http://repo.iotti.biz/CentOS/7/x86_64/socat-1.7.3.2-5.el7.lux.x86_64.rpm
  6. wget www.rabbitmq.com/releases/rabbitmq-server/v3.6.5/rabbitmq-server-3.6.5-1.noarch.rpm
  7. ## 3. 安装服务命令
  8. rpm -ivh erlang-18.3-1.el7.centos.x86_64.rpm
  9. rpm -ivh socat-1.7.3.2-5.el7.lux.x86_64.rpm
  10. rpm -ivh rabbitmq-server-3.6.5-1.noarch.rpm
  11. ## 4. 修改用户登录与连接心跳检测,注意修改
  12. vim /usr/lib/rabbitmq/lib/rabbitmq_server-3.6.5/ebin/rabbit.app
  13. 修改点1:loopback_users 中的 <<"guest">>,把<< >>去掉只保留guest (用于用户登录)
  14. 修改点2:heartbeat 为10(用于心跳连接)
  15. ## 5. 安装管理插件
  16. ## 5.1 首先启动服务(后面 | 包含了停止、查看状态以及重启的命令)
  17. /etc/init.d/rabbitmq-server start | stop | status | restart
  18. ## 5.2 查看服务有没有启动:lsof -i:56725672是Rabbit的默认端口)
  19. rabbitmq-plugins enable rabbitmq_management
  20. ## 5.3 可查看管理端口有没有启动:
  21. lsof -i:15672 或者 netstat -tnlp | grep 15672
  22. ## 6. 一切OK 我们访问地址,输入用户名密码均为 guest
  23. ## http://你的ip地址:15672/
  24. ## 7. 如果一切顺利,那么到此为止,我们的环境已经安装完啦

访问管理台:http://ip地址:15672/ 来访问图形界面 默认用户名均为guest



单机访问效果成功
RabbitMQ镜像集群
会展示如何配置一个RabbitMQ集群,要保证三台服务器的IP能通
第一步 集群搭建配置
配置/etc/hosts文件,保证集群节点之间的通信:配置为 ip 名称。配置完成之后刷新hosts文件(刷新不成功,建议重启服务器)


   
  1. #配置/etc/hosts文件
  2. vim /etc/hosts
  3. #填入内容:
  4. 192.168.2.128 A
  5. 192.168.2.129 B
  6. 192.168.2.130 C
  7. #配置完成之后刷新hosts文件
  8. /etc/init.d/network restart

第二步 新建文件,指定节点名


   
  1. #指定节点名
  2. /etc/rabbitmq/rabbitmq-env.conf
  3. #填入内容:(节点名 和etc/hosts 配置名称一致 如 A,B,C)
  4. NODENAME=rabbit@节点名

第三步 保持 .erlang.cookie一致
保持A,B,C服务器中的.erlang.cookie相同,.erlang.cookie 存在于 /var/lib/rabbitmq/.erlang.cookie我们这里A为主服务(注意:如果mq没有启动过是没有erlang.cookie的)


   
  1. #scp 拷贝 xxxx为ip 地址 或者 hosts中的B,C
  2. scp -p /var/lib/rabbitmq/.erlang.cookie root@xxxx:/var/lib/rabbitmq/
  3. [root@A ~]# scp /var/lib/rabbitmq/.erlang.cookie root@B:/var/lib/rabbitmq
  4. [root@A ~]# scp /var/lib/rabbitmq/.erlang.cookie root@C:/var/lib/rabbitmq

第四步 运行各个RabbitMQ节点
后台启动各个节点(/usr/lib/rabbitmq/bin/)


   
  1. #关闭
  2. [root@B bin]# rabbitmqctl stop
  3. #后台启动
  4. [root@B bin]# rabbitmq-server -detached 

第五步 RabbitMQ节点建立集群
B加入到集群rabbit@A


   
  1. [root@B ~]#rabbitmqctl stop_app
  2. [root@B ~]#rabbitmqctl join_cluster rabbit@A
  3. [root@B ~]#rabbitmqctl start_app

C加入到集群rabbit@A


   
  1. [root@C ~]#rabbitmqctl stop_app
  2. [root@C ~]#rabbitmqctl join_cluster rabbit@A
  3. [root@C ~]#rabbitmqctl start_app

A:不用加入自己
第六步 查看集群状态
我们可以在任意一台机器上查看集群状态


   
  1. [root@A ~]# rabbitmqctl cluster_status
  2. Cluster status of node rabbit@A
  3. [{nodes,[{disc,[rabbit@A,rabbit@B,rabbit@C]}]},
  4. {running_nodes,[rabbit@C,rabbit@B,rabbit@A]},
  5. {cluster_name,<<"rabbit@A">>},
  6. {partitions,[]},
  7. {alarms,[{rabbit@C,[]},{rabbit@B,[]},{rabbit@A,[]}]}]

已经建立集群成功了(注意我这里只有二台机器)

RabbtiMQ其他操作

  1. 添加一个用户
    rabbitmqctl add_user 用户名 用户密码

  2. 给用户赋角色
    rabbitmqctl set_user_tags 用户名 角色名

  3. 给用户赋权限
    rabbitmqctl set_permissions -p “/” 用户名 “." ".” “.*”

  4. 删除用户
    rabbitmqctl delete_user 用户名

  5. 查看用户
    rabbitmqctl list_users
    注: 默认用户为guest guest,可新建用户

  6. 给文件赋权限:
    chmod 777 /文件夹名字/文件名字或者*
    如: chmod 777 /var/lib/rabbitmq/.erlang.cookie

  7. 关闭要移除的节点A
    rabbitmqctl stop_app

  8. 在其他节点B移除节点A
    rabbitmqctl forget_cluster_node rabbit@C

操作案例


   
  1. [root@G bin]# ./rabbitmq-server -deched --后台启动服务
  2. [root@G bin]# ./rabbitmqctl start_app --启动服务
  3. [root@G bin]# ./rabbitmqctl stop_app --关闭服务
  4. [root@G bin]# ./rabbitmq-plugins enable rabbitmq_management --启动web管理插件
  5. [root@G bin]# ./rabbitmqctl add_user zlh zlh --添加用户,密码
  6. [root@G bin]# ./rabbitmqctl set_user_tags zlh administrator --设置zlh为administrator权限

来源:https://blog.csdn.net/weixin_44519874/article/details/112850653

文章来源: blog.csdn.net,作者:lxw1844912514,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/lxw1844912514/article/details/113361922

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。