IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 在阿里云服务器CentOS 7上进行RabbitMQ集群搭建 -> 正文阅读

[系统运维]在阿里云服务器CentOS 7上进行RabbitMQ集群搭建

我这里使用三台阿里云服务器搭建RabbitMQ集群。
1.首先使用cat /etc/hostname查看自己这三台云服务器的名字。当然也可以按照自己的想法修改,使用vim /etc/hostname就可已修改,如何进行编辑和保存,可以百度搜一下。保存之后,需要重启云服务器才能生效。
在这里插入图片描述
图中1和2都是hostname,修改过/etc/hostname之后,必须重启之后,1和/etc/hostname的值才能一样。
2. 使用vim /etc/hosts 填写下边的格式的内容:

xxx.xxx.xxx.xxx hostname

这里“xxx.xxx.xxx.xxx”是ip。
我这里有三台云服务器,那么我就需要填三条,底下不是真实ip和hostname,如有雷同,纯属虚构。比如:

10.124.78.12 Ali398V16
12.34.56.90 Ali398V17
125.34.56.121 Ali398V17

大家一定按照自己的真实情况填写。
3.从https://github.com/rabbitmq/erlang-rpm/releases下载rabbitmq需要的erlang依赖包,从https://github.com/rabbitmq/rabbitmq-server/releases下载rabbitmq安装包。从https://www.rabbitmq.com/官网中,可以看到rabbitmq每个版本所依赖的erlang版本。
在这里插入图片描述
在这里插入图片描述
4. 我这下载的是erlang-23.2.7-1.el7.x86_64.rpm和rabbitmq-server-3.9.15-1.el7.noarch.rpm到/root目录下,然后进到/root,先执行rpm -ivh erlang-23.2.7-1.el7.x86_64.rpm进行安装,然后使用rpm -Uvh rabbitmq-server-3.9.15-1.el7.noarch.rpm命令安装。
在这里插入图片描述
5.进入到阿里云ecs控制台进行安全组的添加。
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
把4369、5672、15672和25672四个端口都添加上。

6.先在第1台节点上,systemctl start rabbitmq-server.service启动rabbitmq-server服务,systemctl status rabbitmq-server.service查看rabbitmq-server服务状态,rabbitmqctl cluster_status查看集群状态。
在这里插入图片描述
在这里插入图片描述
7.现在需要让三个节点中/var/lib/rabbitmq/目录下.erlang.cookie这个文件要一模一样。在当前云服务器上,可以在第1台节点上使用scp给第2个节点和第3个节点进行文件传输,使用scp 各级目录名/需要传输文件名 用户名@ip或者/etc/hosts中hostname:各级目录名/传输目标文件名,我这里使用scp /var/lib/rabbitmq/.erlang.cookie root@Ali472V4:/var/lib/rabbitmq/.erlang.cookie。登录上Ali472V4这个节点,然后使用ll -a /var/lib/rabbitmq/查看一下.erlang.cookie这个文件信息,如果用户不是rabbitmq,用户组不是rabbitmq的话,需要chown rabbitmq:rabbitmq /var/lib/rabbitmq/.erlang.cookie命令进行修改;若文件权限不是-rw-------的话,需要使用chmod 600 /var/lib/rabbitmq/.erlang.cookie命令进行修改。同样的,也需要先使用scp /var/lib/rabbitmq/.erlang.cookie root@Ali472V2:/var/lib/rabbitmq/.erlang.cookie远程传输文件,然后再看用户、用户组和文件权限情况,不符合要求的话,需要使用相应的命令进行修改。
在这里插入图片描述
8.在Ali472V4上执行systemctl start rabbitmq-server.service,然后查看状态systemctl status rabbitmq-server.service
在这里插入图片描述
状态正常之后,rabbitmqctl stop_app命令先停止,然后rabbitmqctl join_cluster rabbit@Ali398V16加入节点,之后rabbitmqctl start_app打开。
在这里插入图片描述
使用rabbitmqctl cluster_status查看集群状态。
在这里插入图片描述
运行节点现在有两个。之后在Ali472V2上,像上一个节点一样,执行systemctl start rabbitmq-server.service之后执行systemctl status rabbitmq-server.service查看服务状态,rabbitmqctl stop_app命令先停止,然后rabbitmqctl join_cluster rabbit@Ali398V16加入节点,之后rabbitmqctl start_app打开,rabbitmqctl cluster_status查看集群状态。
在这里插入图片描述
9.在自己本机上的浏览器使用ip:15672可以进入登录页面。我这里用户名和密码都输入guest进去,发现提示“User can only log in via localhost”。
在这里插入图片描述

我在当前Ali398V16节点使用rabbitmqctl add_user 用户名 密码格式命令,就是rabbitmqctl add_user admin password,来添加一个密码为“password”,用户名为“admin”的用户。
在这里插入图片描述
在本机浏览器上使用用户名“admin”和密码“password”进行登录,发现提示“Not management user”。
在这里插入图片描述
使用rabbitmqctl set_user_tags admin administrator为“admin”用户赋予“administrator”权限。
在这里插入图片描述
正常登录进来了,但是发现有一个节点在页面上提示“Node statistics not available”,需要在这个节点上,执行rabbitmq-plugins enable rabbitmq_management安装插件。
在这里插入图片描述
在本机浏览器中,刷新页面,看到正常显示。

在这里插入图片描述
我遇到的比较棘手的问题,在执行rabbitmqctl join_cluster rabbit@worker2命令花了几个小时最终解决的问题。描述如下:

Clustering node rabbit@Ali472V2 with rabbit@worker2
Error: unable to perform an operation on node 'rabbit@worker2'. Please see diagnostics information and suggestions below.

Most common reasons for this are:

 * Target node is unreachable (e.g. due to hostname resolution, TCP connection or firewall issues)
 * CLI tool fails to authenticate with the server (e.g. due to CLI tool's Erlang cookie not matching that of the server)
 * Target node is not running

In addition to the diagnostics info below:

 * See the CLI, clustering and networking guides on https://rabbitmq.com/documentation.html to learn more
 * Consult server logs on node rabbit@worker2
 * If target node is configured to use long node names, don't forget to use --longnames with CLI tools

DIAGNOSTICS
===========

attempted to contact: [rabbit@worker2]

rabbit@worker2:
  * connected to epmd (port 4369) on worker2
  * epmd reports node 'rabbit' uses port 25672 for inter-node and CLI tool traffic
  * TCP connection succeeded but Erlang distribution failed
  * suggestion: check if the Erlang cookie is identical for all server nodes and CLI tools
  * suggestion: check if all server nodes and CLI tools use consistent hostnames when addressing each other
  * suggestion: check if inter-node connections may be configured to use TLS. If so, all nodes and CLI tools must do that
   * suggestion: see the CLI, clustering and networking guides on https://rabbitmq.com/documentation.html to learn more


Current node details:
 * node name: 'rabbitmqcli-911-rabbit@Ali472V2'
 * effective user's home directory: /var/lib/rabbitmq
 * Erlang cookie hash: /m8U0Ow5FZV0yu0dRJy3BA==

在这里插入图片描述
这个原因是worker2不是对应节点中/etc/hostname里边的字符串,在当前节点Ali472V2中,/etc/hosts里边应该写入的hostname应该为对应节点/etc/hostname里边的字符串“Ali398V16”。
解决方案:
(1)先使用systemctl stop rabbitmq-server.service关闭服务。
(2)vim /etc/hosts修改对应ip后边hostname。
(3)重新打开服务,systemctl start rabbitmq-server.service
(4)rabbitmqctl stop_app
(5)rabbitmqctl join_cluster rabbit@Ali398V16
在这里插入图片描述可以再使用rabbitmqctl cluster_status看一下集群状态。
在这里插入图片描述
三个节点正常运行。

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-05-18 18:01:16  更:2022-05-18 18:02:00 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 16:23:06-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码