centos7 rabbitmq安装_阿里云 k8s

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

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

我这里使用三台阿里云服务器搭建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看一下集群状态。
在这里插入图片描述
三个节点正常运行。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/195381.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 数据库中的多表查询总结[通俗易懂]

    数据库中的多表查询总结[通俗易懂]数据库在单个表里操作其实很简答,但是涉及在多张表里寻找数据的时候,难度会大大增加,这里解释一些多表联合查询常用的操作。一、join操作在数据库的查询中,多表连接查询是一大难点,也是多表查询里的重点。连接主要有以下四种情况:INNERJOIN(内连接):如果表中有至少一个匹配,则返回行【在语法中可以省略INNER关键字】LEFTJOIN(左连接):从左表返回所有的行,如果右表中…

    2022年5月3日
    47
  • c语言tinyxml使用方法,TinyXml使用方法[通俗易懂]

    c语言tinyxml使用方法,TinyXml使用方法[通俗易懂]本文用一个详细的例子说明了TiXml的使用方法。如写、查找、插入、替换、加载、遍历等常见操作。首先简单介绍一下TinyXml,要看详细的在网上搜搜了^_^:1、TinyXml源代码只有4个cpp文件和2个头文件。2、首先要理解TinyXml中的各个基本类型之间的关系,看看这个继承图大家就会很明白了!可以看到TinyXml中的注释comment,声明declaration,元素element,文本等…

    2022年5月6日
    63
  • datagrid控件详解_datagridview控件不显示数据

    datagrid控件详解_datagridview控件不显示数据解决方法:在代码中必须有下列突显部分.privatevoidInitializeComponent()  {      this.bnRefresh.Click+=newSystem.EventHandler(this.bnRefresh_Click);   this.bnAdd.Click+=newSystem.EventHandler(this.bnAdd_Clic

    2022年10月13日
    3
  • nc瑞士军刀详情

    nc瑞士军刀详情查看头文件nc-nv0.0.0.0IP地址80端口号(类telnet功能)head/聊天功能(传输是明文)nc相互传输文本信息(两台电脑实现类聊天功能)A:nc-lp4444

    2022年7月2日
    25
  • java零基础自学_Java零基础自学经验

    java零基础自学_Java零基础自学经验Java零基础自学经验学习Java数学不好行不行?要到能自己开发小软件的水平要多久,入门需要看些什么材料啊,网上资料不是很好,培训又要花钱,新手零基础如何自学Java比较快速?下面是由百分网小编为大家整理的Java零基础自学经验,喜欢的可以收藏一下!了解更多详情资讯,请关注应届毕业生考试网!下面分享新新人类的自学经验之谈:我学了2周了,已经入门了,基本代码都能看懂,看不懂的研究研究也就懂了。重点是…

    2022年6月20日
    29
  • 舵机控制原理和结构图_舵机的相关原理与控制原理

    舵机控制原理和结构图_舵机的相关原理与控制原理原文:https://blog.zeruns.tech/index.php/archives/358/什么是PWM信号PWM,英文名PulseWidthModulation,是脉冲宽度调制缩写,它是通过对一系列脉冲的宽度进行调制,等效出所需要的波形(包含形状以及幅值),对模拟信号电平进行数字编码,也就是说通过调节占空比的变化来调节信号、能量等的变化,占空比就是指在一个周期内,信号处于高电平…

    2025年7月24日
    3

发表回复

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

关注全栈程序员社区公众号