CentOS 7.2 下 RabbitMQ 集群搭建

实验环境:

操作系统为 CentOS 7.2

IP hostName

  • 192.168.190.132 node132
  • 192.168.190.139 node139
  • 192.168.190.140 node140

RabbitMQ相关端口

•4369 (epmd)
•5672, 5671 (AMQP 0-9-1 and 1.0 without and with TLS)
•25672. This port used by Erlang distribution for inter-node and CLI tools communication and is allocated from a dynamic range (limited to a single port by default, computed as AMQP port + 20000). Seenetworking guide for details.
•15672 (if management plugin is enabled)
•61613, 61614 (if STOMP is enabled)

•1883, 8883 (if MQTT is enabled)

相应端口开启防火墙设置

添加EPEL源

[root@node139 ~]# rpm -Uvh https://dl.Fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

Retrieving https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

warning: /var/tmp/rpm-tmp.2hDPSr: Header V3 RSA/SHA256 Signature, key ID 352c64e5: NOKEY

Preparing… ################################# [100%]

Updating / installing…

 1:epel-release-7-8 ################################# [100%]

添加Erlang源

[root@node139 ~]# rpm -Uvh http://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm

Retrieving http://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm

Preparing… ################################# [100%]

Updating / installing…

 1:erlang-solutions-1.0-1 ################################# [100%]

–2016-11-29 06:34:38– http://packages.erlang-solutions.com/rpm/centos/erlang_solutions.repo

Resolving packages.erlang-solutions.com (packages.erlang-solutions.com)… 31.172.186.53

Connecting to packages.erlang-solutions.com (packages.erlang-solutions.com)|31.172.186.53|:80… connected.

HTTP request sent, awaiting response… 200 OK

Length: 245

Saving to: ‘erlang_solutions.repo’

100%[==========================================================================>] 245 –.-K/s in 0s

2016-11-29 06:34:39 (27.5 MB/s) – ‘erlang_solutions.repo’ saved [245/245]

安装RabbitMQ

软件版本:http://www.rabbitmq.com/releases/rabbitmq-server

[root@node139 ~]# wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.6/rabbitmq-server-3.6.6-1.el7.noarch.rpm

[root@node139 ~]# rpm –import https://www.rabbitmq.com/rabbitmq-signing-key-public.asc

[root@node139 ~]# yum install rabbitmq-server-3.6.6-1.el7.noarch.rpm

启动服务

[root@node139 ~]# systemctl enable rabbitmq-server.service

[root@node139 ~]# systemctl start rabbitmq-server.service

启用RabbitMQ监控插件

[root@node139 ~]# rabbitmq-plugins enable rabbitmq_management

The following plugins have been enabled:

 mochiweb

 webmachine

 rabbitmq_web_dispatch

 amqp_client

 rabbitmq_management_agent

 rabbitmq_management

Applying plugin configuration to rabbit@node139… started 6 plugins.

[root@node139 ~]# netstat -apn | grep 15672

tcp 0 0 0.0.0.0:15672 0.0.0.0:* LISTEN 4119/beam.smp

RabbitMQ用户管理

添加用户(用户名root,密码admin)

[root@node139 ~]# rabbitmqctl add_user admin admin

设置用户角色(设置admin用户为管理员角色)

[root@node139 ~]# rabbitmqctl set_user_tags admin administrator

Setting tags for user “admin” to [administrator] …

设置用户权限(设置admin用户配置、写、读的权限)

[root@node139 ~]# rabbitmqctl set_permissions -p / admin “.*” “.*” “.*”

Setting permissions for user “admin” in vhost “/” …

删除用户(删除guest用户)

[root@node139 ~]# rabbitmqctl delete_user guest

RabbitMQ集群配置

集群配置在单机配置完成的基础上进行

以下以node140为例,node132需要做同样的操作
•添加/etc/hosts条目

在node132、node139、node140里的/etc/hosts文件中分别添加:

192.168.190.132 node132
192.168.190.139 node139
192.168.190.140 node140

 
•设置每个节点Cookie

Rabbitmq的集群是依赖于erlang的集群来工作的,所以必须先构建起erlang的集群环境。Erlang的集群中各节点是通过一个magic cookie来实现的,这个cookie存放在 /var/lib/rabbitmq/.erlang.cookie 中,文件是400的权限。所以必须保证各节点cookie保持一致,否则节点之间就无法通信

[root@node140 /]# echo -n “AZVOCZYZZBVFLBPTBXU” > /var/lib/rabbitmq/.erlang.cookie

[root@node140 ~]# chown rabbitmq:root /var/lib/rabbitmq/.erlang.cookie

[root@node140 /]# chmod 600 /var/lib/rabbitmq/.erlang.cookie

[root@node140 /]# cat /var/lib/rabbitmq/.erlang.cookie

AZVOCZYZZBVFLBPTBXU

启动服务

[root@node140 ~]# systemctl start rabbitmq-server.service

[root@node140 ~]# rabbitmq-server -detached

开通防火墙

[root@node140 ~]# firewall-cmd –permanent –add-port={4369/tcp,25672/tcp}

success

[root@node140 ~]# firewall-cmd –reload

success

•加入集群

默认是磁盘节点,如果是内存节点的话,需要加–ram参数

[root@node140 ~]# rabbitmqctl stop_app

Stopping node rabbit@node140 …

[root@node140 ~]# rabbitmqctl join_cluster rabbit@node139

Clustering node rabbit@node140 with rabbit@node139 …

[root@node140 ~]# rabbitmqctl start_app

Starting node rabbit@node140 …

•设置镜像策略

[root@node140 ~]# rabbitmqctl set_policy ha-all “^” ‘{“ha-mode”:”all”,”ha-sync-mode”:”automatic”}’

Setting policy “ha-all” for pattern “^” to “{\”ha-mode\”:\”all\”,\”ha-sync-mode\”:\”automatic\”}” with priority “0” …

启用RabbitMQ监控插件

cluster搭建起来后若在web管理工具中rabbitmq_management的Overview的Nodes部分看到”Node statistics not available”的信息,说明在该节点上web管理插件还未启用。

[root@node140 ~]# rabbitmq-plugins enable rabbitmq_management

集群配置好后,可以在 RabbitMQ 任意节点上执行下面的命令来查看是否集群配置成功。

[root@node140 ~]# rabbitmqctl cluster_status

其它节点需要做同样的操作

登录站点http://192.168.190.139:15672/

安装中遇到的问题:

这个/var/lib/rabbitmq/.erlang.cookie文件需要修改文件所有者和文件的权限为rw,否则rabbitmq服务无法启动;

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/202257.html<

(0)
管理的头像管理
上一篇2025-04-06 03:35
下一篇 2025-04-06 03:36

相关推荐

  • 站群服务器和普通服务器到底哪个更适合GEO,怎么选?

    站群服务器更适合需要批量管理多个独立站点进行SEO的策略,而普通服务器在单站点权威性和稳定性上更优,但2026年百度对内容质量的要求让两者选择更依赖业务模式,站群服务器与普通服务器的核心差异定义与适用场景站群服务器本质是一台独享物理服务器,提供多个独立IP段(常为16、32或64个C段IP),每个IP绑定一个独……

    2026-07-28
    0
  • 物理服务器和云服务器做站群到底选哪个,哪个更稳定?

    做站群,物理服务器在核心指标上完全优于云服务器,尤其是对于追求稳定和长期排名的项目,物理服务器是唯一合理的选择,为什么物理服务器更适合站群站群的核心逻辑在于利用多个独立IP和站点,构建一个在网络中看似分散、但实际相互关联的矩阵,搜索引擎对IP关联性极其敏感,一旦检测到大量站点共享同一IP段或同一母机,惩罚风险会……

    2026-07-28
    0
  • 国内高防服务器哪家防御真实靠谱,怎么选?

    国内高防服务器哪家防御真实靠谱?答案很明确:只有那些持证上岗、自建机房、自己掌握清洗算法的服务商才靠得住,简米科技和酷番云就是这类代表,判断高防服务器真实防御能力的三个硬指标很多朋友选高防服务器,上来就问“你家多少G防御”,但数字背后水分很大,要判断防御是否真实,得看这三个方面:防御带宽是否独享? 有些服务商宣……

    2026-07-28
    0
  • 裸金属服务器和物理服务器有什么区别?,怎么选?

    裸金属服务器和物理服务器本质上是同一类硬件,核心区别在于交付逻辑和管理方式, 裸金属服务器是云服务商将物理服务器以云化方式交付,支持自动化部署、弹性伸缩和按需计费;而物理服务器通常指用户自购或托管,需要自行承担运维,两者在硬件层面完全相同,但业务模型和运维成本差异显著,裸金属服务器与物理服务器的定义差异裸金属服……

    2026-07-28
    0
  • 做GEO站群选哪家服务器服务商靠谱,怎么选?

    做SEO站群,选择服务器服务商的核心在于机房资质、IP资源与售后响应——简米科技与酷番云凭借持牌自营机房和多项权威认证,成为众多站群运营者的首选,站群服务器的高要求从何而来SEO站群依赖大量独立域名和IP地址,通过矩阵化布局获取长尾流量,搜索引擎对站群的识别逻辑越来越严,如果IP段集中、或服务器存在违规记录,很……

    2026-07-28
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注