关于Linux搭建RabbitMQ集群环境图文详解
作者:叫我二蛋
这篇文章主要介绍了关于Linux搭建RabbitMQ集群环境图文详解,RabbitMQ天然支持集群,集群是保证可靠性的一种方式,同时可以通过水平扩展以达到增加消息吞吐量能力的目的,需要的朋友可以参考下
环境说明
- 操作系统:CentOS7
- Erlang版本:21.3
- RabbitMQ版本:3.8.0
Erlang安装
下载安装包
参考链接:https://packagecloud.io/rabbitmq/erlang。精简的包,只提供运行RabbitMQ所需的组件。
选择对应版本进入下载页面
复制下图中的wget地址
执行下载命令
wget --content-disposition https://packagecloud.io/rabbitmq/erlang/packages/el/7/erlang-21.3.8.14-1.el7.x86_64.rpm/download.rpm?distro_version_id=140
安装
执行安装命令
rpm -ivh erlang-21.3.8.14-1.el7.x86_64.rpm
验证
执行命令验证安装版本
yum info erlang
RabbitMQ安装
参考链接:https://www.rabbitmq.com/install-rpm.html
1.下载安装包
执行下载命令,如果下载超时,点击进行下载RabbitMQ安装包
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.0/rabbitmq-server-3.8.0-1.el7.noarch.rpm
2. 下载完成后导入key
rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc
安装
rpm -ivh rabbitmq-server-3.8.0-1.el7.noarch.rpm
上图提示缺少logrotate和socat,yum安装即可。
yum install logrotateyum install socat
再次执行rpm -ivh rabbitmq-server-3.8.0-1.el7.noarch.rpm
即可
启动RabbitMQ
# 启动rabbitmq systemctl start rabbitmq-server # 查看rabbitmq状态 systemctl status rabbitmq-server
设置开机自动启动
systemctl enable rabbitmq-server
安装管理界面
rabbitmq-plugins enable rabbitmq_management
guest帐号只能在RabbitMQ安装服务器上登录,如下图提示信息
创建用户
#创建一个用户admin,密码位123456 rabbitmqctl add_user admin 123456 #设置用户标签为administrator rabbitmqctl set_user_tags admin administrator #授予admin用户可访问虚拟主机 / 以及各种权限 rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
登录管理界面
使用创建的用户登录管理界面
集群配置
前提条件
- 2台服务器节点rabbit均已安装。
- rabbitmq依赖于erlang集群工作,需要保证各节点中cookie文件的一致性,否则节点之间无法通信。
构建erlang集群
- 拷贝一台rabbitmq的erlang.cookie到另外一台,被拷贝的视为master
scp /var/lib/rabbitmq/.erlang.cookie root@192.168.0.238:/var/lib/rabbitmq
- 重启2个节点
systemctl restart rabbitmq-server
- 操作node2服务
#停止服务 rabbitmqctl stop_app #重置服务 rabbitmqctl reset #加入集群,$hostname为node1的hostname rabbitmqctl join_cluster rabbit@$hostname
高可用镜像集群配置
- 2台服务器分别执行以下命令设置策略
rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all"}'
到此这篇关于关于Linux搭建RabbitMQ集群环境图文详解的文章就介绍到这了,更多相关Linux搭建RabbitMQ集群环境内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!