Linux集群部署RabbitMQ

目录

一、准备三台虚拟机,配置相同

1、所有主机都需要hosts文件解析

2、所有主机安装erLang和rabbitmq

3、修改配置文件

4、导入rabbitmq 的管理界面

5、查看节点状态

6、设置erlang运行节点

7、rabitmq2和rabbitmq3重启服务

8、查看各个节点状态

二、添加用户并设置密码

1、三个主机都操作

2、访问测试

三、组成集群

1、将rabbitmq2,加入到rabbitmq1中

关闭rabbitmq2应用

加入rabbitmq1集群

启动

如果此时查看节点1,会发现集群节点信息增加

2、rabbitmq3重复上述的操作


一、准备三台虚拟机,配置相同

192.168.229.11 设置主机名 rabbitmq1

192.168.229.12 设置主机名 rabbitmq2

192.168.229.13 设置主机名 rabbitmq3

1、所有主机都需要hosts文件解析

vim /etc/hosts
192.168.229.11 rabbitmq1
192.168.229.12 rabbitmq2
192.168.229.13 rabbitmq3

2、所有主机安装erLang和rabbitmq

yum -y install erlang -y
yum install -y rabbitmq-server
cp /usr/share/doc/rabbitmq-server-3.3.5/rabbitmq.config.example /etc/rabbitmq/rabbitmq.config

3、修改配置文件

vim /etc/rabbitmq/rabbitmq.config
53行解注释
{loopback_users, []}

4、导入rabbitmq 的管理界面

rabbitmq-plugins enable rabbitmq_management
systemctl restart rabbitmq-server

5、查看节点状态

rabbitmqctl cluster_status

6、设置erlang运行节点

一定要保证三台机器的cookie内容一致,找到erlang cookie文件的位置, 源码包部署一般会存在.erlang.cookie文件; rpm包部署一般是在/var/lib/rabbitmq/.erlang.cookie。 将 rabbitmq1 的该文件使用rsync或者是scp复制到 rabbitmq2、rabbitmq3,文件权限需要是400。

[root@rabbitmq1 ~]# scp /var/lib/rabbitmq/.erlang.cookie rabbitmq3:/var/lib/rabbitmq/.erlang.cookie

[root@rabbitmq1 ~]# scp /var/lib/rabbitmq/.erlang.cookie rabbitmq2:/var/lib/rabbitmq/.erlang.cookie

7、rabitmq2和rabbitmq3重启服务

systemctl restart rabbitmq-server

关闭rabbitmq2和rabbitmq3的服务(不要关rabbitmq1) 如果2,3节点没有启动服务,会提示关闭错误。 也就是,确保所有的活动任务和连接都被正常处理和关闭

rabbitmqctl stop

rabbitmq2和rabbitmq3 独立运行节点,warning提示不用理会

rabbitmq-server -detached

8、查看各个节点状态

rabbitmqctl cluster_status

每台主机看到的只有一个的server信息。目前尚未组合成集群

二、添加用户并设置密码

由于guest这个用户,只能在本地访问,所以我们要在每个节点上,新增一个用户并赋予对/的所有权限,然后添加到管理员组中,让此用户能够远程访问

1、三个主机都操作

rabbitmqctl add_user  admin admin
rabbitmqctl set_permissions -p "/" admin ".\*" ".\*" ".*"
rabbitmqctl set_user_tags admin administrator

2、访问测试

浏览器输入:http://ip:15672   ip为11/12/13三个主机ip

账号:admin

密码:admin

此时每个节点是单独的一台RabbitMQ,下面来将他们组成集群。

三、组成集群

1、将rabbitmq2,加入到rabbitmq1中

关闭rabbitmq2应用

[root@rabbitmq2 ~]# rabbitmqctl stop_app 

加入rabbitmq1集群

[root@rabbitmq2 ~]# rabbitmqctl join_cluster rabbit@rabbitmq1

启动

rabbitmqctl start_app

如果此时查看节点1,会发现集群节点信息增加

rabbitmqctl cluster_status

2、rabbitmq3重复上述的操作

此时集群就已经部署完毕

在任意节点上查看集群状态都显示一样的节点

在任意web界面登陆,进行添加用户、添加虚拟主机等操作,三台服务器都会同步改变。

<think>好的,我现在需要帮用户在Linux服务器上部署和配置RabbitMQ。用户已经提供了一些参考的站内引用,里面提到了集群部署和重启服务的命令。首先,我得整理出一个清晰的步骤指南,确保用户能顺利安装和配置。 首先,安装前的准备工作。RabbitMQ需要Erlang环境,所以得先安装Erlang。用户可能不知道如何添加Erlang的仓库,我应该告诉他们添加EPEL仓库或者直接从Erlang Solutions安装。另外,要检查SELinux和防火墙设置,确保端口5672和15672是开放的,这是RabbitMQ默认的AMQP和管理端口。 接下来是安装RabbitMQ。使用yum安装是最直接的方法,但用户可能需要先导入Cloudsmith的GPG密钥,这样才能正确获取仓库。安装完成后,启动服务并设置开机自启,这部分在引用里提到了systemctl命令,所以需要包括这些步骤。 然后是管理插件的启用,尤其是管理界面,用户可能希望通过网页管理RabbitMQ,所以必须启用rabbitmq_management插件。创建管理员账户也是必要的,默认的guest账户只能在本地访问,所以需要添加新用户并设置权限。 关于集群部署,用户提供的引用提到了多台机器,所以可能需要解释集群配置的基本步骤,比如同步Erlang Cookie,加入集群节点。不过用户的问题主要是部署和配置,可能集群是后续步骤,但可以简要提及作为扩展。 最后,验证安装是否成功,通过curl访问管理界面或者用浏览器查看,确保服务正常运行。可能还需要提醒用户检查防火墙设置,如果无法访问的话。 在整理步骤的时候,要确保命令准确,比如添加仓库时的rpm命令,启动服务的systemctl操作。同时,要引用用户提供的参考内容,比如重启服务的命令,这样用户能看到相关引用来源。 需要检查是否有遗漏的步骤,比如是否需要配置SSL或者调整内存限制,但根据用户的问题,可能基础配置就够了。此外,生成的相关问题要围绕安装后的配置、集群、用户管理等方面,帮助用户进一步探索。 总之,步骤要清晰,命令准确,引用适当,并且覆盖安装、配置、验证的全过程,同时生成相关问题引导用户深入学习。</think>### Linux服务器上RabbitMQ部署与配置步骤 #### 1. 安装前准备 - **添加EPEL仓库**(如未安装): ```bash yum install epel-release -y ``` - **安装Erlang环境**(RabbitMQ依赖): ```bash # 添加Erlang仓库 curl -s https://packagecloud.io/install/repositories/rabbitmq/erlang/script.rpm.sh | sudo bash yum install erlang -y ``` #### 2. 安装RabbitMQ ```bash # 添加RabbitMQ仓库 curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh | sudo bash yum install rabbitmq-server -y ``` #### 3. 基础配置 - **启动服务并设置自启**: ```bash systemctl start rabbitmq-server systemctl enable rabbitmq-server ``` 引用重启命令的示例:[^1][^2] - **启用管理插件**: ```bash rabbitmq-plugins enable rabbitmq_management ``` #### 4. 用户与权限配置 ```bash # 创建管理员账户 rabbitmqctl add_user admin your_password rabbitmqctl set_user_tags admin administrator rabbitmqctl set_permissions -p / admin ".*" ".*" ".*" ``` #### 5. 防火墙配置 ```bash firewall-cmd --permanent --add-port={5672/tcp,15672/tcp} firewall-cmd --reload ``` #### 6. 验证安装 访问管理界面(默认端口15672): ```bash curl http://localhost:15672 # 或通过浏览器访问 http://服务器IP:15672 ``` #### 7. 集群部署(可选扩展) 参考引用中提到的集群配置: 1. 同步所有节点的Erlang Cookie文件`/var/lib/rabbitmq/.erlang.cookie` 2. 在从节点执行加入集群命令: ```bash rabbitmqctl stop_app rabbitmqctl join_cluster rabbit@主节点主机名 rabbitmqctl start_app ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值