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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java messagedigest_JAVA MessageDigest(MD5加密等)

    java messagedigest_JAVA MessageDigest(MD5加密等)转自http://blog.csdn.net/hudashi/article/details/8394158一、概述java.security.MessageDigest类用于为应用程序提供信息摘要算法的功能,如MD5或SHA算法。简单点说就是用于生成散列码。信息摘要是安全的单向哈希函数,它接收任意大小的数据,输出固定长度的哈希值。关于信息摘要和散列码请参照《数字证书简介》MessageD…

    2022年6月16日
    27
  • OpenCV对图像遍历的高效方法

    OpenCV对图像遍历的高效方法一、指针遍历首先介绍几个Mat类型的属性,rows是Mat类型的行数,cols是列数,channels()是通道数,那么对于图像的每一行,都有cols*channels()个像素点,所以我们可以对所有行进行遍历,然后对于特定一行,遍历所有像素点,代码如下:intnl=image.rows;//行数//每行的元素数量intnc=image.cols*i…

    2022年5月30日
    26
  • python open函数返回值_open函数 · intermediate-python · 看云

    python open函数返回值_open函数 · intermediate-python · 看云#open函数#`open`函数[open](http://docs.python.org/dev/library/functions.html#open)函数可以打开一个文件。超级简单吧?大多数时候,我们看到它这样被使用:~~~f=open(‘photo.jpg’,’r+’)jpgdata=f.read()f.close()~~~我现在写这篇文章的原因,是大部分时间我看到`ope…

    2022年5月9日
    91
  • 导出Excel在GridView1.RenderControl报错

    导出Excel在GridView1.RenderControl报错导出Excel在GridView1.RenderControl报错(2008-11-2412:24:42)标签:导出excel问题 it  今天做Gridview导出Excel时,出现了以前没有的问题,我以前做过很多次导出Excel的工作,知道出现报错类型“GridView”的控件“GridView1”必须放在具有runat

    2022年7月20日
    18
  • route命令详解

    route命令详解route命令详解在网络中,route命令用来显示、添加、删除和修改网络的路由。1.route命令的格式route[-f][-p][Command][Destination][maskNetmask][Gateway][metricMetric][ifInterface]2.route-参数的含义:route-f:用于清除路由表。route-p:用于创建永久路由。routeComman:主要有print(打印路由)、ADD(添加路由)、DELETE(删

    2022年7月18日
    26
  • poj1195(二维树状数组)

    poj1195(二维树状数组)

    2021年7月6日
    100

发表回复

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

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