CentOS下RabbitMQ 部署记录_rabbitmq crtend_b

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化的资料的朋友,可以戳这里获取

16、#对本地节点执行更广泛的运行状况检查
sudo rabbitmq-diagnostics node_health_check

17 、#开启/关闭某个插件,需重启生效
rabbitmq-plugins enable/disable xxx

18、#查看所有队列信息
rabbitmqctl list_queues

19、#关闭应用
rabbitmqctl stop_app

19、#启动应用
rabbitmqctl start_app

20、#清除所有队列
rabbitmqctl reset

#访问管理页面,默认为端口15672
http://IP:15672 、


## 端口用途


**4369**  
 empd(Erlang Port Mapper Daemon),是 Erlang 的端口/结点名称映射程序,用来跟踪节点名称监听地址,在集群中起到一个类似 DNS 的作用;


5672、5671  
 由 AMQP 0-9-1 和 1.0 客户端使用;


**15672**  
 HTTP\_API 端口,管理员用户才能访问,用于管理 RbbitMQ,需要启用 management 插件, rabbitmq-plugins enable rabbitmq\_management ,访问 http://server-name:15672/;


**25672**  
 Erlang distribution,和4369配合;


**61613、61614**  
 当STOMP插件启用的时候打开,作为STOMP客户端端口(根据是否使用TLS选择);


**1883、8883**  
 当MQTT插件启用的时候打开,作为MQTT客户端端口(根据是否使用TLS选择);


**15674**  
 基于WebSocket的STOMP客户端端口(当插件Web STOMP启用的时候打开);


**15675**  
 基于WebSocket的MQTT客户端端口(当插件Web MQTT启用的时候打开);


## 2、rpm安装RabbitMQ


**1. 更新基本系统**  
 安装任何软件包之前,建议使用以下命令更新软件包和存储库



yum -y update


**2. 安装Erlang**  
 由于RabbitMQ是基于Erlang(面向高并发的语言)语言开发,所以在安装RabbitMQ之前,需要先安装Erlang。在本教程中我们将安装最新版本的Erlang到服务器中。Erlang在默认的YUM存储库中不可用,因此您将需要安装EPEL存储库。运行以下命令相同。



yum -y install epel-release


安装Erlang



yum -y install erlang socat


您现在可以使用以下命令检查Erlang版本。



[root@liptan-pc ~]# erl -version
Erlang (ASYNC_THREADS,HIPE) (BEAM) emulator version 5.10.4


**2. 安装RabbitMQ**  
 RabbitMQ为预编译并可以直接安装的企业Linux系统提供RPM软件包。唯一需要的依赖是将Erlang安装到系统中。我们已经安装了Erlang,我们可以进一步下载RabbitMQ。通过运行下载Erlang RPM软件包。  
 2.1 下载RabbitMQ  
 下载RabbitMQ



wget https://www.rabbitmq.com/releases/rabbitmq-server/v3.6.10/rabbitmq-server-3.6.10-1.el7.noarch.rpm


如果你没有安装wget ,可以运行yum -y install wget 。您可以随时找到最新版本的RabbitMQ下载页面的链接。  
 **2.2 安装RabbitMQ**  
 通过运行导入GPG密钥:



rpm –import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc


![在这里插入图片描述](https://img-blog.csdnimg.cn/20200820141447791.png#pic_center)  
 运行RPM安装RPM包:



rpm -Uvh rabbitmq-server-3.6.10-1.el7.noarch.rpm


![在这里插入图片描述](https://img-blog.csdnimg.cn/20200820141502555.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70#pic_center)  
 RabbitMQ现已经安装在系统上。  
 **3. 使用RabbitMQ**  
 运行



systemctl start rabbitmq-server


开机自启



systemctl enable rabbitmq-server


检查状态



systemctl status rabbitmq-server


**4. 访问Web控制台4.1 启动web控制台**  
 启动RabbitMQ Web管理控制台,方法是运行:



rabbitmq-plugins enable rabbitmq_management


通过运行以下命令,将RabbitMQ文件的所有权提供给RabbitMQ用户:



chown -R rabbitmq:rabbitmq /var/lib/rabbitmq/


4.2 创建用户  
 现在,您将需要为RabbitMQ Web管理控制台创建管理用户。运行以下命令相同。



rabbitmqctl add_user admin StrongPassword
rabbitmqctl set_user_tags admin administrator
rabbitmqctl set_permissions -p / admin “.*” “.*” “.*”


将管理员更改为管理员用户的首选用户名。确保将StrongPassword更改为非常强大的密码。  
 要访问RabbitMQ的管理面板,请使用您最喜爱的Web浏览器并打开以下URL。



http://Your_Server_IP:15672/


**5.管理界面介绍**  
 第一次访问需要登录,默认的账号密码为:guest/guest  
 5.1.主页  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200820141303479.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70#pic_center)  
 connections:无论生产者还是消费者,都需要与RabbitMQ建立连接后才可以完成消息的生产和消费,在这里可以查看连接情况channels:通道,建立连接后,会形成通道,消息的投递获取依赖通道。Exchanges:交换机,用来实现消息的路由Queues:队列,即消息队列,消息存放在队列中,等待消费,消费后被移除队列。  
 端口:  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200820141314595.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70#pic_center)  
 5.2.添加用户  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200820141323964.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70#pic_center)  
 上面的Tags选项,其实是指定用户的角色,可选的有以下几个:  
 超级管理员(administrator)  
 可登陆管理控制台,可查看所有的信息,并且可以对用户,策略(policy)进行操作。


监控者(monitoring)


可登陆管理控制台,同时可以查看rabbitmq节点的相关信息(进程数,内存使用情况,磁盘使用情况等)  
 策略制定者(policymaker)  
 可登陆管理控制台, 同时可以对policy进行管理。但无法查看节点的相关信息(上图红框标识的部分)。  
 普通管理者(management)  
 仅可登陆管理控制台,无法看到节点信息,也无法对策略进行管理。  
 其他  
 无法登陆管理控制台,通常就是普通的生产者和消费者。  
 **5.3.创建虚拟主机(Virtual Hosts)**  
 为了让各个用户可以互不干扰的工作,RabbitMQ添加了虚拟主机(Virtual Hosts)的概念。其实就是一个独立的访问路径,不同用户使用不同路径,各自有自己的队列、交换机,互相不会影响。  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200820141358625.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70#pic_center)  
 创建好虚拟主机,我们还要给用户添加访问权限:  
 点击添加好的虚拟主机:  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200820141410289.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70#pic_center)  
 进入虚拟主机设置界面:  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200820141421319.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70#pic_center)


## 3、


1、下载安装包,建立activemq用户,安装#



cd /opt/
wget http://apache.dataguru.cn/activemq/apache-activemq/5.7.0/apache-activemq-5.7.0-bin.tar.gz
wget http://apache.dataguru.cn/activemq/apache-activemq/5.9.0/apache-activemq-5.9.0-bin.tar.gz
adduser activemq
tar xvzf apache-activemq-5.7.0.tar.gz

ln -s apache-activemq-5.7.0 activemq

chown -R activemq.activemq apache-activemq-5.7.0

ln -sf /opt/activemq/bin/activemq /etc/init.d/

update-rc.d activemq defaults


2. 生成并编辑配置文件 #



/etc/init.d/activemq setup /etc/default/activemq
chmod 600 /etc/default/activemq
chown activemq. /etc/default/activemq
mkdir /var/xxxx
vim /etc/default/activemq
add ACTIVEMQ_DATA=“/var/xxxx” #the 7 line
add ACTIVEMQ_USER=“activemq” #the 51 line
修改/etc/security/limits.conf文件,添加如下内容。
activemq - nofile 32768
activemq soft nproc 32000
activemq hard nproc 32000


![在这里插入图片描述](https://img-blog.csdnimg.cn/2020090110323429.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70#pic_center)  
 3.JMX配置#



vim /etc/default/activemq

cancel note as follows
ACTIVEMQ_SUNJMX_START="-Dcom.sun.management.jmxremote.port=11099 "

ACTIVEMQ_SUNJMX_START=“ A C T I V E M Q _ S U N J M X _ S T A R T − D c o m . s u n . m a n a g e m e n t . j m x r e m o t e . p a s s w o r d . f i l e = ACTIVEMQ\_SUNJMX\_START -Dcom.sun.management.jmxremote.password.file= ACTIVEMQ_SUNJMX_STARTDcom.sun.management.jmxremote.password.file={ACTIVEMQ_CONF}/jmx.password”

ACTIVEMQ_SUNJMX_START=“ A C T I V E M Q _ S U N J M X _ S T A R T − D c o m . s u n . m a n a g e m e n t . j m x r e m o t e . a c c e s s . f i l e = ACTIVEMQ\_SUNJMX\_START -Dcom.sun.management.jmxremote.access.file= ACTIVEMQ_SUNJMX_STARTDcom.sun.management.jmxremote.access.file={ACTIVEMQ_CONF}/jmx.access”

ACTIVEMQ_SUNJMX_START=“$ACTIVEMQ_SUNJMX_START -Dcom.sun.management.jmxremote.ssl=false”

ACTIVEMQ_SUNJMX_START=“$ACTIVEMQ_SUNJMX_START -Dcom.sun.management.jmxremote”

ACTIVEMQ_SUNJMX_CONTROL=“–jmxurl service:jmx:rmi:///jndi/rmi://127.0.0.1:11099/jmxrmi --jmxuser admin --jmxpassword activemq”
add note as follows
#ACTIVEMQ_SUNJMX_CONTROL=“”
Remarks modify jmxuser and jmxpassword,ensure /opt/activemq/conf/jmx.access file and /opt/activemq/conf/jmx.password file site the same.
Give jmx.* file permission as follows
chmod 600 /opt/activemq/conf/jmx.*


4.启动和停止activemq#



/etc/init.d/activemq start
/etc/init.d/activemq stop


5.访问activemq管理界面#



http://x.x.x.x:8161/
user:admin
pwd:admin


## 常见问题


1、



8月 20 14:17:30 localhost.localdomain rabbitmq-server[141651]: /var/log/rabbitmq/rabbit@localhost.log
8月 20 14:17:30 localhost.localdomain rabbitmq-server[141651]: /var/log/rabbitmq/rabbit@localhost-sasl.log
8月 20 14:17:30 localhost.localdomain rabbitmq-server[141651]: Stack trace:
8月 20 14:17:30 localhost.localdomain rabbitmq-server[141651]: [{gen,do_for_proc,2,[{file,“gen.erl”},{line,228}]},
8月 20 14:17:30 localhost.localdomain rabbitmq-server[141651]: {gen_event,rpc,2,[{file,“gen_event.erl”},{line,239}]},
8月 20 14:17:30 localhost.localdomain rabbitmq-server[141651]: {rabbit,ensure_working_log_handlers,0,
8月 20 14:17:30 localhost.localdomain rabbitmq-server[141651]: [{file,“src/rabbit.erl”},{line,842}]},
8月 20 14:17:30 localhost.localdomain rabbitmq-server[141651]: {rabbit,‘-boot/0-fun-0-’,0,[{file,“src/rabbit.erl”},{line,281}]},
8月 20 14:17:30 localhost.localdomain rabbitmq-server[141651]: {rabbit,start_it,1,[{file,“src/rabbit.erl”},{line,417}]},
8月 20 14:17:30 localhost.localdomain rabbitmq-server[141651]: {init,start_em,1,[]},
8月 20 14:17:30 localhost.localdomain rabbitmq-server[141651]: {init,do_boot,3,[]}]
8月 20 14:17:30 localhost.localdomain rabbitmq-server[141651]: =INFO REPORT==== 20-Aug-2020::14:17:30.319492 ===
8月 20 14:17:30 localhost.localdomain rabbitmq-server[141651]: Error description:
8月 20 14:17:30 localhost.localdomain rabbitmq-server[141651]: noproc
8月 20 14:17:30 localhost.localdomain rabbitmq-server[141651]: Log files (may contain more information):
8月 20 14:17:30 localhost.localdomain rabbitmq-server[141651]: /var/log/rabbitmq/rabbit@localhost.log
8月 20 14:17:30 localhost.localdomain rabbitmq-server[141651]: /var/log/rabbitmq/rabbit@localhost-sasl.log
8月 20 14:17:30 localhost.localdomain rabbitmq-server[141651]: Stack trace:
8月 20 14:17:30 localhost.localdomain rabbitmq-server[141651]: [{gen,do_for_proc,2,[{file,“gen.erl”},{line,228}]},
8月 20 14:17:30 localhost.localdomain rabbitmq-server[141651]: {gen_event,rpc,2,[{file,“gen_event.erl”},{line,239}]},
8月 20 14:17:30 localhost.localdomain rabbitmq-server[141651]: {rabbit,ensure_working_log_handlers,0,
8月 20 14:17:30 localhost.localdomain rabbitmq-server[141651]: [{file,“src/rabbit.erl”},{line,842}]},
8月 20 14:17:30 localhost.localdomain rabbitmq-server[141651]: {rabbit,‘-boot/0-fun-0-’,0,[{file,“src/rabbit.erl”},{line,281}]},
8月 20 14:17:30 localhost.localdomain rabbitmq-server[141651]: {rabbit,start_it,1,[{file,“src/rabbit.erl”},{line,417}]},
8月 20 14:17:30 localhost.localdomain rabbitmq-server[141651]: {init,start_em,1,[]},
8月 20 14:17:30 localhost.localdomain rabbitmq-server[141651]: {init,do_boot,3,[]}]
8月 20 14:17:31 localhost.localdomain rabbitmq-server[141651]: {“init terminating in do_boot”,noproc}
8月 20 14:17:31 localhost.localdomain rabbitmq-server[141651]: init terminating in do_boot (noproc)
8月 20 14:17:31 localhost.localdomain rabbitmq-server[141651]: [1B blob data]
8月 20 14:17:31 localhost.localdomain rabbitmq-server[141651]: Crash dump is being written to: erl_crash.dump…done
8月 20 14:17:31 localhost.localdomain systemd[1]: rabbitmq-server.service: Main process exited, code=exited, status=1/FAILURE
8月 20 14:17:31 localhost.localdomain systemd[1]: rabbitmq-server.service: Failed with result ‘exit-code’.
8月 20 14:17:31 localhost.localdomain systemd[1]: Failed to start RabbitMQ broker.


![在这里插入图片描述](https://img-blog.csdnimg.cn/20200820141843671.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70#pic_center)  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200820141921544.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70#pic_center)


参考链接 :  
 RabbitMQ 部署记录 : https://mp.weixin.qq.com/s/YlsbisNSbKKf3-sUWfnDvw  
 RabbitMQ简介以及应用 :https://mp.weixin.qq.com/s/xX85bYETptp\_zzL3en\_SGQ


高可用RocketMQ集群搭建 : https://mp.weixin.qq.com/s/qWDrBnrAZ4G72DFBFEaFBQ


![img](https://img-blog.csdnimg.cn/img_convert/80076913f31901efdc72eadd67dfdd6d.png)
![img](https://img-blog.csdnimg.cn/img_convert/50432389a9e74b7ce0fb6f7de662e3b0.png)
![img](https://img-blog.csdnimg.cn/img_convert/0f190dccb76cfbf87fabfa40e4e384b8.png)

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!**

**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**

**[需要这份系统化的资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618631832)**

ketMQ集群搭建 : https://mp.weixin.qq.com/s/qWDrBnrAZ4G72DFBFEaFBQ


[外链图片转存中...(img-Gyqp2jHG-1715734547529)]
[外链图片转存中...(img-V1gXivPl-1715734547529)]
[外链图片转存中...(img-BHgnl1uk-1715734547530)]

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!**

**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**

**[需要这份系统化的资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618631832)**

  • 14
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值