内容简介: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代理的设置
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Think Python
Allen B. Downey / O'Reilly Media / 2012-8-23 / GBP 29.99
Think Python is an introduction to Python programming for students with no programming experience. It starts with the most basic concepts of programming, and is carefully designed to define all terms ......一起来看看 《Think Python》 这本书的介绍吧!