RabbitMQ入门及安装
简单概述:
RabbitMQ是一个开源的遵循AMQP协议实现的基于Erlang语言编写,支持多种客户端(语言)。用于在分布式系统中存储消息,转发消息,具有高可用,高可扩性,易用性等特征。
下载RabbitMQ
下载地址: https://www.rabbitmq.com/install-rpm.html#downloads
下载Erlang
由于RabbitMq是Erlang语言开发所以我们需要Erlang环境。
下载时需要注意Erlang和RabbitMq版本对应关系: https://www.rabbitmq.com/which-erlang.html
下载地址:https://packagecloud.io/rabbitmq/erlang/packages/el/7/erlang-23.2.7-2.el7.x86_64.rpm
上传至服务器
mkdir -p /usr/rabbitmq
cd /usr/rabbitmq/
# 安装Erlang
# 解压
rpm -Uvh erlang-23.2.7-2.el7.x86_64.rpm
# 安装
yum install -y erlang
# 查看erlang版本
erl -v
#出现下图即为成功
# 安装socat插件RabiitMq安装过程需要
yum install -y socat
# 解压
rpm -Uvh rabbitmq-server-3.10.6-1.el8.noarch.rpm
# 安装
yum install -y rabbitmq-server
注意 ip地址和主机名要加条映射 不然启动不起来
# 启动rabbitmq
systemctl start rabbitmq-server
# 查看rabbitmq状态
systemctl status rabbitmq-server
# 设置rabbitmq服务开机自启动
systemctl enable rabbitmq-server
# 关闭rabbitmq服务
systemctl stop rabbitmq-server
# 重启rabbitmq服务
systemctl restart rabbitmq-server
查看状态 出现下图即为成功
管理界面
rabbitmq-plugins enable rabbitmq_management
访问ip:15672 出现界面
RabbitMq
有一个默认的账号密码guest
,但该情况仅限于本机localhost进行访问,所以需要添加一个远程登录的用户。
# 添加账号
rabbitmqctl add_user 用户名 密码
rabbitmqctl add_user admin admin
# 设置用户分配操作权限
rabbitmqctl set_user_tags 用户名 administrator
rabbitmqctl set_user_tags admin administrator
# 用户名
rabbitmqctl set_permissions -p / 用户名 ".*" ".*" ".*"
rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
使用docker安装RabbitMQ
先安装docker
# 1、卸载旧版的
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
# 2、需要的安装包
yum install -y yum-utils
# 3、设置镜像的仓库
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo #默认是从国外的 十分慢
# 推荐用这个阿里云的
yum-config-manager \
--add-repo \
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 更新yum软件包索引
yum makecache fast
# 4、安装docker相关的 docker-ce社区版(推荐) ee 企业版
yum install docker-ce docker-ce-cli containerd.io
# 5、启动docker
systemctl start docker
# 6、查看是否成功
docker version
# 7、再确认
docker run hello-world
# 8、查看下载的hello-world 镜像
docker images
#配置阿里云镜像
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://kgit923r.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
docker安装rabbitmq
#下载rabbitmq镜像
docker pull rabbitmq:management
# 创建并运行 RabbitMQ 容器
docker run -di --name myrabbitmq \
-e RABBITMQ_DEFAULT_USER=admin \
-e RABBITMQ_DEFAULT_PASS=admin \
-p 15672:15672 -p 5672:5672 -p 25672:25672 -p 61613:61613 -p 1883:1883\
rabbitmq:management
#查看容器id号
docker ps -a
#启动rabbitmq_management
docker start 容器id号
再次访问 ip:15672
RabbitMQ角色分类
1:none:
- 不能访问management plugin
2:management:查看自己相关节点信息
- 列出自己可以通过AMQP登入的虚拟机
- 查看自己的虚拟机节点 virtual hosts的queues,exchanges和bindings信息
- 查看和关闭自己的channels和connections
- 查看有关自己的虚拟机节点virtual hosts的统计信息。包括其他用户在这个节点virtual hosts中的活动信息。
3:Policymaker
- 包含management所有权限
- 查看和创建和删除自己的virtual hosts所属的policies和parameters信息。
4:Monitoring
- 包含management所有权限
- 罗列出所有的virtual hosts,包括不能登录的virtual hosts。
- 查看其他用户的connections和channels信息
- 查看节点级别的数据如clustering和memory使用情况
- 查看所有的virtual hosts的全局统计信息。
5:Administrator
- 最高权限
- 可以创建和删除virtual hosts
- 可以查看,创建和删除users
- 查看创建permisssions
- 关闭所有用户的connections