CenterOS7上搭建RabbitMQ集群

 

1 保证多个主机之间能够互相访问

修改host ,

vi /etc/hosts

 

例如修改成下面的内容:

192.168.10.157 rabbitmq-1

192.168.10.159 rabbitmq-2

192.168.10.161 rabbitmq-3.

 

修改后,测试各个主机是否能够互相ping通

2 关闭防火墙,或者添加以下端口

systemctl stop firewalld

或者添加端口 

  firewall-cmd --permanent --zone=public --add-port=4369/tcp  
  firewall-cmd --permanent --zone=public --add-port=5672/tcp
  firewall-cmd --permanent --zone=public --add-port=25672/tcp
  firewall-cmd --permanent --zone=public --add-port=5671-5672/tcp
  firewall-cmd --permanent --zone=public --add-port=15672/tcp
  firewall-cmd --permanent --zone=public --add-port=61613-61614/tcp
  firewall-cmd --permanent --zone=public --add-port=1883/tcp
  firewall-cmd --permanent --zone=public --add-port=8883/tcp  

添加后重启防火墙生效 systemctl reload firewalld.service

3 安装Erlang (RabbitMq是用Erlang编写的)

3.1 新建 /etc/yum.repos.d/rabbitmq-erlang.repo 文件并添加一下内容

[rabbitmq-erlang]
name=rabbitmq-erlang
baseurl=https://dl.bintray.com/rabbitmq/rpm/erlang/20/el/7
gpgcheck=1
gpgkey=https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc
repo_gpgcheck=0
enabled=1

3.2 执行命令 yum install erlang ,安装的过程中提示yes/no 选择yes 3.3 检查是否安装成功,输入命令 erl ,如果有返回版本号之类的信息就说明安装成功 连续 按两次 Ctrl +C 退出 Erlang命令交互环境

4 安装RabbitMQ

4.1 新建 /etc/yum.repos.d/rabbitmq.repo 文件并添加一下内容

[bintray-rabbitmq-server]
name=bintray-rabbitmq-rpm
baseurl=https://dl.bintray.com/rabbitmq/rpm/rabbitmq-server/v3.7.x/el/7/
gpgcheck=0
repo_gpgcheck=0
enabled=1

4.2 下载安装包

mkdir /usr/rabbitmq_pkg
cd /usr/rabbitmq_pkg
wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.10/rabbitmq-server-3.6.10-1.el7.noarch.rpm

4.3 安装 yum install rabbitmq-server-3.6.10-1.el7.noarch.rpm

5 设置各个主机的Erlang Cookie相同

输入命令cat /var/lib/rabbitmq/.erlang.cookie查看节点的Cookie 一般安装后各个节点的的Cookie 是不相同的,需要设置成一样的才行 用scp命令快速复制, 如 scp /var/lib/rabbitmq/.erlang.cookie root@192.168.5.239:/var/lib/rabbitmq/.erlang.cookie 将当前主机的cookie 复制到239主机上

6 启动RabbitMq服务

启动服务 service rabbitmq-server start 查看服务是否启动 service rabbitmq-server status 设置服务随系统自动启动 chkconfig rabbitmq-server on 如果安装前,没有设置/etc/hosts ,现在设置也行最好提前设置,免得修改配置或有其它影响 ,设置后需要重启生效 service rabbitmq-server restart

7 设置集群

各个主机rabbitmq都启动后 ,分别运行 rabbitmqctl status 看返回内容的第一行 ,Status of node 后面的值 ,如Status of node 'rabbit@rabbitmq-1'  表明了当前的Rabbit节点的名称  在要设置为子节点的主机上运行命令: rabbitmqctl stop_app rabbitmqctl reset rabbitmqctl join_cluster rabbit@rabbitmq-1 //注意 rabbit@rabbitmq-1 为主节点名称 rabbitmqctl start_app  运行 rabbitmqctl cluster_status 检查当前节点的状态  如果需要更改节点类型 ,输入下面的命令 rabbitmqctl stop_app rabbitmqctl change_cluster_node_type ram 设置为内存节点 (注意集群中至少需要一个磁盘节点) rabbitmqctl change_cluster_node_type disc 设置为磁盘节点 (注意集群中至少需要一个磁盘节点) rabbitmqctl start_app 

8 设置访问权限编辑每个主机的rabbitmq配置

运行命令: cp /usr/share/doc/rabbitmq-server- 3.6.10/rabbitmq.config.example/etc/rabbitmq/rabbitmq.config;

vim /etc/rabbitmq/rabbitmq.config修改内容,查找loopback_users ,将所在行修改为 %% {loopback_users, []} , 保存并退出 , 使用命令 service rabbitmq-server restart重启服务

9 添加用户

rabbitmqctl add_user root 123456 // root 为用户名, 123456为密码 rabbitmqctl set_user_tags root administrator rabbitmqctl set_permissions -p / root ".*" ".*" ".*" service rabbitmq-server restart

10 开启管理功能

开启主节点的web管理功能 rabbitmq-plugins enable rabbitmq_management; 检查已开启的插件 rabbitmq-plugins list;

浏览器访问 http://192.168.xxx.xxx:15672/#/ 输入用户名root ,密码123456登录查看

转载于:https://www.cnblogs.com/francisXu/p/10571467.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是用 Docker 搭建 RabbitMQ 集群的步骤: 1. 首先,确保已经安装了 Docker 和 Docker Compose。 2. 在本地创建一个新的文件夹,用于存储 RabbitMQ 的配置文件和数据。 3. 在该文件夹中创建一个名为 docker-compose.yml 的文件,并将以下内容复制到该文件中: ``` version: '3' services: rabbitmq-node1: image: rabbitmq:3.8-management-alpine hostname: rabbitmq-node1 environment: RABBITMQ_ERLANG_COOKIE: "secret_cookie" RABBITMQ_DEFAULT_USER: "admin" RABBITMQ_DEFAULT_PASS: "admin" ports: - "5672:5672" - "15672:15672" volumes: - ./data/node1:/var/lib/rabbitmq - ./config/rabbitmq.conf:/etc/rabbitmq/rabbitmq.conf networks: rabbitmq-network: aliases: - rabbitmq-node1 rabbitmq-node2: image: rabbitmq:3.8-management-alpine hostname: rabbitmq-node2 environment: RABBITMQ_ERLANG_COOKIE: "secret_cookie" RABBITMQ_DEFAULT_USER: "admin" RABBITMQ_DEFAULT_PASS: "admin" volumes: - ./data/node2:/var/lib/rabbitmq - ./config/rabbitmq.conf:/etc/rabbitmq/rabbitmq.conf networks: rabbitmq-network: aliases: - rabbitmq-node2 rabbitmq-node3: image: rabbitmq:3.8-management-alpine hostname: rabbitmq-node3 environment: RABBITMQ_ERLANG_COOKIE: "secret_cookie" RABBITMQ_DEFAULT_USER: "admin" RABBITMQ_DEFAULT_PASS: "admin" volumes: - ./data/node3:/var/lib/rabbitmq - ./config/rabbitmq.conf:/etc/rabbitmq/rabbitmq.conf networks: rabbitmq-network: aliases: - rabbitmq-node3 networks: rabbitmq-network: driver: bridge ``` 该文件定义了一个 RabbitMQ 集群,由三个节点组成。每个节点都有一个名称、一个主机名、一个环境变量(Erlang cookie、默认用户名和密码)、端口映射、数据卷和网络别名。该文件还定义了一个网络,用于连接三个节点。 4. 在该文件夹中创建一个名为 config 的文件夹,并在其中创建一个名为 rabbitmq.conf 的文件。将以下内容复制到该文件中: ``` cluster_formation.peer_discovery_backend = rabbit_peer_discovery_classic_config cluster_formation.classic_config.nodes.1 = rabbit@rabbitmq-node1 cluster_formation.classic_config.nodes.2 = rabbit@rabbitmq-node2 cluster_formation.classic_config.nodes.3 = rabbit@rabbitmq-node3 ``` 该文件定义了 RabbitMQ 集群的配置,包括节点发现方式和节点列表。 5. 在该文件夹中创建一个名为 data 的文件夹,用于存储 RabbitMQ 节点的数据。 6. 在终端中导航到该文件夹,并运行以下命令: ``` 回复:搭建rabbitmq集群需要使用Docker,可以参考Docker官方文档:https://docs.docker.com/engine/examples/rabbitmq/。好的,以下是如何使用Docker搭建RabbitMQ集群的步骤: 1. 首先,确保您已经在本地安装了Docker,并且已经在命令行中登录到了Docker。 2. 在命令行中输入以下命令,以在Docker中下载和运行RabbitMQ镜像: ``` docker run -d --name rabbitmq-node1 -p 5672:5672 -p 15672:15672 rabbitmq:3.8-management ``` 这将下载最新版本的RabbitMQ,并将其运行在Docker容器中。这里我们指定了两个端口,一个用于AMQP通信(5672),另一个用于Web管理界面(15672)。 3. 等待RabbitMQ容器启动后,您可以使用以下命令在另一个容器中运行第二个RabbitMQ节点: ``` docker run -d --name rabbitmq-node2 -p 5673:5672 -p 15673:15672 --link rabbitmq-node1:rabbit1 rabbitmq:3.8-management ``` 这将启动第二个RabbitMQ容器,并将其链接到第一个容器,以便它们可以互相通信。请注意,我们使用了不同的端口(5673和15673),以便避免与第一个节点的端口冲突。 4. 接下来,您可以使用以下命令启动第三个节点: ``` docker run -d --name rabbitmq-node3 -p 5674:5672 -p 15674:15672 --link rabbitmq-node1:rabbit1 --link rabbitmq-node2:rabbit2 rabbitmq:3.8-management ``` 同样,我们指定了不同的端口,并将此容器链接到前两个容器,以创建一个RabbitMQ集群。 5. 等待第三个节点启动后,您可以使用以下命令检查集群状态: ``` docker exec -it rabbitmq-node1 rabbitmqctl cluster_status ``` 这将显示集群中所有节点的状态。 恭喜!您已经成功地在Docker中部署了一个RabbitMQ集群

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值