RabbitMQ消息队列 安装部署 学习知识

RabbitMQ 应用场景

消息队列面试题

认识RabbitMQ

安装RabbitMQ

#rabbitmq:https://packagecloud.io/rabbitmq/rabbitmq-server/packages/el/7/rabbitmq-server-3.8.16-1.el7.noarch.rpm?distro_version_id=140
#erlang: https://packagecloud.io/rabbitmq/erlang/packages/el/7/erlang-23.3.4.11.1.el7.x86_64.rpm/download.rpm?distro_version-id=140

[root@jenkinsagent ~]# mkdir rabbitmq
[root@jenkinsagent ~]# cd rabbitmq/
[root@jenkinsagent rabbitmq]# rpm -ivh rabbitmq-server-3.8.16-1.el7.noarch.rpm
[root@jenkinsagent rabbitmq]# rpm -ivh erlang-23.3.4.11-1.el7.x86_64.rpm
[root@jenkinsagent rabbitmq]# yum install -y socat -y
[root@jenkinsagent rabbitmq]# rpm -ivh rabbitmq-server-3.8.16-1.el7.noarch.rpm
[root@jenkinsagent rabbitmq]# systemctl enable rabbitmq-server.service
[root@jenkinsagent rabbitmq]# systemctl start rabbitmq-server
[root@jenkinsagent rabbitmq]# systemctl status rabbitmq-server

[root@jenkinsagent rabbitmq]# systemctl stop rabbitmq-server
[root@jenkinsagent rabbitmq]# rabbitmq-plugins enable rabbitmq_management
[root@jenkinsagent rabbitmq]# systemctl start rabbitmq-server
[root@jenkinsagent rabbitmq]# systemctl status rabbitmq-server

#默认端口为15672 如果访问不了 看看是否关闭防火墙
http://192.168.40.146:15672/

[root@jenkinsagent rabbitmq]# systemctl stop firewalld
[root@jenkinsagent rabbitmq]# systemctl disable firewalld

添加新用户 

[root@jenkinsagent rabbitmq]# rabbitmqctl add_user admin 123456

#administrator 不能大写Administrator 登陆会报错Not management user
[root@jenkinsagent rabbitmq]# rabbitmqctl set_user_tags admin administrator

[root@jenkinsagent rabbitmq]# rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"

[root@jenkinsagent rabbitmq]# rabbitmqctl list_users
Listing users ...
user    tags
admin   [Administrator]
guest   [administrator]

RabbitMQ的工作原理

RabbitMQ交换机类型

1.Direct

2.fanout

3.Topic

4.headers

Rabbit集群

另外两台也要装上rabbitmq

#3台同步hosts文件
vim /etc/hosts 同步
192.168.40.145 jenkinsnew
192.168.40.146 jenkinsagent
192.168.40.147 sonarqube


主Rabbitmq是 192.168.40.146

#复制
[root@jenkinsagent rabbitmq]# scp /var/lib/rabbitmq/.erlang.cookie root@jenkinsnew:/var/lib/rabbitmq/.erlang.cookie
[root@jenkinsagent rabbitmq]# scp /var/lib/rabbitmq/.erlang.cookie root@sonarqube:/var/lib/rabbitmq/.erlang.cookie

#启动RabbitMQ服务,顺带启动Erlang虚拟机和RabbitMQ应用服务,3个节点执行命令
rabbitmq-server -detached

#节点jenkinsnew上执行
rabbitmqctl stop_app(rabbitmqctl stop_会将Erlang虚拟机关闭,rabbitmqctl stop_app只会关闭rabbitmq服务)
rabbitmqctl reset
rabbitmqctl join_cluster rabbit@jenkinsagent
rabbitmqctl start_app

#节点sonarqube执行
rabbitmqctl stop_app(rabbitmqctl stop_会将Erlang虚拟机关闭,rabbitmqctl stop_app只会关闭rabbitmq服务)
rabbitmqctl reset
rabbitmqctl join_cluster rabbit@jenkinsnew
rabbitmqctl start_app

#
[root@sonarqube rabbitmq]# rabbitmqctl cluster_status
Cluster status of node rabbit@sonarqube ...
Basics

Cluster name: rabbit@jenkinsagent

Disk Nodes

rabbit@jenkinsagent
rabbit@jenkinsnew
rabbit@sonarqube

Running Nodes

rabbit@jenkinsagent
rabbit@jenkinsnew
rabbit@sonarqube

#设置角色
[root@jenkinsagent rabbitmq]# rabbitmqctl add_user admincluster 123456

#administrator 不能大写Administrator 登陆会报错Not management user
[root@jenkinsagent rabbitmq]# rabbitmqctl set_user_tags admincluster administrator

[root@jenkinsagent rabbitmq]# rabbitmqctl set_permissions -p "/" admincluster ".*" ".*" ".*"

 镜像队列

posted @ 2023-07-04 20:21  しみずよしだ  阅读(36)  评论(0)    收藏  举报