内容简介:RabbitMQ是一个开源的消息代理软件,最初实现了AMQP(高级消息队列协议)协议,虽然它已经开发和扩展,以支持其他协议,如STOMP(流式文本导向消息传递协议)和MQTT(消息排队遥测运输)。RabbitMQ是消息排队软件,支持在分布式系统,应用程序和服务之间发送和接收消息。
RabbitMQ是一个开源的消息代理软件,最初实现了AMQP(高级消息队列协议)协议,虽然它已经开发和扩展,以支持其他协议,如STOMP(流式文本导向消息传递协议)和MQTT(消息排队遥测运输)。
RabbitMQ是消息排队软件,支持在分布式系统,应用程序和服务之间发送和接收消息。 它使用Erlang编程语言编写,支持所有主要编程语言的客户端接口和库,包括Python,NodeJS, JAVA , PHP 等。
在本教程中,我将逐步向您展示如何在 CentOS 7服务器上设置RabbitMQ群集。 我们将使用三个CentOS服务器设置RabbitMQ集群,启用RabbitMQ管理,并为所有节点设置HA策略。
先决条件
- 3个或更多CentOS 7服务器
- 10.0.15.21 node01
- 10.0.15.22 node02
- 10.0.15.23 node03
- Root权限
我们将要做什么?
- 设置主机文件
- 安装RabbitMQ服务器
- 启用RabbitMQ管理插件
- 配置Firewalld
- 设置RabbitMQ群集
- 配置新的管理员用户
- 设置RabbitMQ队列镜像
- 测试
第1步 - 设置主机文件
在此步骤中,我们将编辑所有服务器上的“/ etc / hosts”文件,并将每个服务器 ip 地址映射为主机名。
使用vim编辑器编辑'/ etc / hosts'文件 。
sudo vim / etc / hosts
现在粘贴以下配置。
<font></font><font>10.0.15.21 node01</font><font></font><font> 10.0.15.22 node02</font><font></font><font> 10.0.15.23 node03</font>
保存并退出。
第2步 - 安装RabbitMQ服务器
在此步骤中,我们将从EPEL(Enterprise Linux Extra Packages)存储库安装RabbitMQ Server软件包。
将EPEL存储库添加到CentOS 7系统。
sudo yum -y install epel-release
现在使用下面的yum命令将RabbitMQ Server安装到所有节点'node01','node02'和'node03'。
sudo yum -y安装rabbitmq-server
安装完成后,启动RabbitMQ服务并使其在系统引导时每次启动。
sudo systemctl start rabbitmq-server
sudo systemctl enable rabbitmq-server
RabbitMQ服务器已安装在所有节点集群CentOS 7上。
第3步 - 启用RabbitMQ管理插件
在此步骤中,我们将启用RabbitMQ管理插件。它是一个接口,允许您从Web浏览器监视和处理RabbitMQ服务器,在默认TCP端口'15672'上运行。
通过运行以下命令启用RabbitMQ管理插件。
sudo rabbitmq-plugins启用rabbitmq_management
确保没有错误,然后重新启动RabbitMQ服务。
sudo systemctl重启rabbitmq-server
RabbitMQ管理已启用。
第4步 - 配置CentOS Firewalld
在本教程中,我们将启用CentOS firewalld服务,因此我们需要打开RabbitMQ服务器使用的端口。
我们将打开使用RabbitMQ服务器'5672'的端口,RabbitMQ管理'15672'的端口,以及RabbitMQ集群'4369,25672'的端口。
运行以下firewalld命令。
sudo firewall-cmd --add-port = 15672 / tcp --permanent
sudo firewall-cmd --add-port = 5672 / tcp --permanent
sudo firewall-cmd --add-port = {4369 / tcp,25672 / tcp } - permanent
现在重新加载firewalld并检查列表中所有打开的端口。
sudo firewall-cmd --reload
sudo firewall-cmd --list-all
CentOS firewalld配置已经完成,我们已准备好设置RabbitMQ集群。
第5步 - 设置RabbitMQ Cluster
为了设置RabbitMQ集群,我们需要确保所有节点上的'.erlang.cookie'文件是相同的。我们将'/ var / lib / rabbitmq'目录中的'.erlang.cookie'文件从'node01'复制到其他节点'node02'和'node03'。
使用'node01'中的 scp 命令复制'.erlang.cookie'文件。
scp /var/lib/rabbitmq/.erlang.cookie root @ node02 :/ var / lib / rabbitmq /
scp /var/lib/rabbitmq/.erlang.cookie root @ node03 :/ var / lib / rabbitmq /
确保两台服务器上都没有错误。
接下来,我们需要设置'node02'和'node03'来加入集群'node01'。
在'node02'和'node03'服务器上运行以下所有命令。
重新启动RabbitMQ服务并停止应用程序。
sudo systemctl restart rabbitmq-server
sudo rabbitmqctl stop_app
现在让两个节点上的RabbitMQ服务器加入'node01'上的集群,然后启动应用程序。
sudo rabbitmqctl join_cluster rabbit @ node01
sudo rabbitmqctl start_app
完成后,检查RabbitMQ群集状态。
sudo rabbitmqctl cluster_status
您将得到如下所示的结果。
在'node02'上。
在'node03'上。
已创建RabbitMQ群集,其中node01,node02和node03为成员。
第6步 - 创建新的管理员用户
在本教程中,我们将为RabbitMQ服务器创建一个新的管理员用户,并删除默认的“guest”用户。我们将从'node01'创建一个新用户,它将自动复制到集群上的所有节点。
添加一个名为' hakase ' 的新用户,密码为' aqwe123 @ '。
sudo rabbitmqctl add_user hakase aqwe123 @
以管理员身份设置'hakase'用户。
sudo rabbitmqctl set_user_tags hakase管理员
并授予'hakase'用户修改,写入和读取所有虚拟主机的权限。
sudo rabbitmqctl set_permissions -p / hakase“。*”“。*”“。*”
现在删除默认的“访客”用户。
sudo rabbitmqctl delete_user guest
并检查所有可用用户。
sudo rabbitmqctl list_users
您将得到如下所示的结果。
已创建新的RabbitMQ用户,并删除默认的“guest”用户。
第7步 - RabbitMQ设置队列镜像
必须进行此设置,我们需要为队列镜像和复制到所有群集节点配置“ha策略”群集。如果承载队列主节点的节点发生故障,则最旧的镜像将被提升为新的主节点,只要它同步,取决于“ha-mode”和“ha-params”策略。
以下是关于RabbitMQ ha策略的一些示例。
设置名为“ha-all”的ha策略,RabbitMQ集群上的所有队列将镜像到集群上的所有节点。
sudo rabbitmqctl set_policy ha-all“。*”'{“ha-mode”:“all”}'
设置ha策略名为'ha-two',所有队列名称都以'two'开头。将镜像到群集上的两个节点。
sudo rabbitmqctl set_policy ha-two“^ two \。” \
'{“ha-mode”:“确切”,“ha-params”:2,“ha- sync -mode”:“自动”}}
设置ha策略名为'ha-nodes',所有队列名称都以'nodes'开头。将镜像到群集上的两个特定节点'node02'和'node03'。
sudo rabbitmqctl set_policy ha-nodes“^ nodes \。” \
'{“ha-mode”:“nodes”,“ha-params”:[“ rabbit @ node02 ”,“ rabbit @ node03 ”]}'
现在使用以下命令检查所有可用的策略。
sudo rabbitmqctl list_policies;
如果要删除策略,请使用以下命令。
sudo rabbitmqctl clear_policy ha-two
第8步 - 测试
打开Web浏览器,然后键入端口为“15672”的节点的IP地址。
http://10.0.15.21:15672/
输入用户名' hakase ',密码为' aqwe123 @ '。
您将获得如下的RabbitMQ管理仪表板。
所有群集节点状态均已启动并正在运行
现在单击“管理”选项卡菜单,然后单击侧面的“用户”菜单。
您将获得列表中的hakase用户。
现在点击“管理”标签菜单,然后点击旁边的“政策”菜单。
您将获得我们创建的所有RabbitMQ ha策略。
在CentOS 7服务器上安装和配置RabbitMQ Cluster已成功完成。
以上所述就是小编给大家介绍的《如何在CentOS 7上设置RabbitMQ集群》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- redis集群cluster简单设置
- 通过 10 个步骤在 Kubernetes 平台上设置一个多数据中心 Cassandra 集群
- [CentOS7]redis设置开机启动,设置密码
- hadoop地址配置、内存配置、守护进程设置、环境设置
- OpenMediaVault 设置
- scrapy代理的设置
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Erlang趣学指南
邓辉、孙鸣 / 人民邮电出版社 / 2016-9-7 / 79.00元
这是一本讲解Erlang编程语言的入门指南,内容通俗易懂,插图生动幽默,示例短小清晰,结构安排合理。书中从Erlang的基础知识讲起,融汇所有的基本概念和语法。内容涉及模块、函数、类型、递归、错误和异常、常用数据结构、并行编程、多处理、OTP、事件处理,以及所有Erlang的重要特性和强大功能。一起来看看 《Erlang趣学指南》 这本书的介绍吧!