欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

Rabbitmq入门教程

时间:2023-06-11

目录

一.简介

二.安装

1.Erlang安装

2.安装rabbitmq

3.集群配置(3台服务器)


一.简介

RabbitMQ是一个消息代理 - 一个消息系统的媒介。它可以为你的应用提供一个通用的消息发送和接收平台,并且保证消息在传输过程中的安全。由erlang语言开发,基于AMQP(Advanced Message Queue 高级消息队列协议)协议实现的消息队列。

二.安装

1.Erlang安装

yum install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel unixODBC.x86_64 unixODBC-devel.x86_64  gtk3-devel.x86_64 fop.noarch whatprovides autoconf automake -y
yum install whatprovides autoconf automake -y

wget https://github.com/erlang/otp/archive/refs/tags/OTP-23.2.1.tar.gz
tar xf OTP-23.2.1.tar.gz
mv otp-OTP-23.2.1 erlang
cd erlang/
./otp_build autoconf
./configure  --prefix=/usr/local/erlang
make && make install

#配置Erlang 环境变量
#编辑
vim /etc/profile
    export PATH=$PATH:/rabbitmq/erlang/bin

source /etc/profile

#测试
[root@ks02 bin]#  erl
Erlang/OTP 23 [erts-11.1.5] [source] [64-bit] [smp:2:2] [ds:2:2:10] [async-threads:1] [hipe]

Eshell V11.1.5  (abort with ^G)
1>

2.安装rabbitmq

#安装rabbitmq

wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.9.2/rabbitmq-server-3.9.2-1.el8.noarch.rpm
rpm -ivh --nodeps ./rabbitmq-server-3.8.3-1.el7.noarch.rpm

#安装web管理插件
rabbitmq-plugins enable rabbitmq_management

#启动失败,无erlang环境
systemctl start rabbitmq-server.service

#问题处理,添加erlang环境变量
vim +187  /usr/lib/rabbitmq/bin/rabbitmq-server
    export PATH=$PATH:/rabbitmq/erlang/bin

#启动成功
systemctl start rabbitmq-server.service
systemctl stop rabbitmq-server.service

3.集群配置(3台服务器)

#本集群由三台服务器组成,先确保三台服务器分别按照Rabbit单机安装方式安装成功,再进行以下操作。

#设置Erlang cookie(设置不同节点间同一认证的Erlang cookie)
#将作为主节点的Erlang cookie复制到其他两个节点上

#首先备份
mv /var/lib/rabbitmq/.erlang.cookie  /var/lib/rabbitmq/.erlang.cookie.bak

chmod 700 /var/lib/rabbitmq/.erlang.cookie
scp /var/lib/rabbitmq/.erlang.cookie RBMQ2:/var/lib/rabbitmq/
scp /var/lib/rabbitmq/.erlang.cookie RBMQ3:/var/lib/rabbitmq/

#设置权限
chmod 400  /var/lib/rabbitmq/.erlang.cookie
chown rabbitmq  /var/lib/rabbitmq/.erlang.cookie
chgrp rabbitmq  /var/lib/rabbitmq/.erlang.cookie

#三台服务器分别执行:
rabbitmq-server -detached

#在其他两台从节点执行

[root@tv7-rabbit-mq-7aea3ef8 rabbitmq]# rabbitmqctl stop_app
Stopping rabbit application on node rabbit@tv7-rabbit-mq-7aea3ef8 ...

#连接集群(rabbit@tv7-rabbit-mq-46b9814a:主节点的rabbit@host)
rabbitmqctl join_cluster rabbit@tv7-rabbit-mq-46b9814a

#启动集群
rabbitmqctl start_app

#查看状态
rabbitmqctl cluster_status

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。