• 华为云云耀云服务器L实例评测 | 实例使用教学之软件安装:华为云云耀云服务器环境下安装 RabbitMQ 集群


    华为云云耀云服务器L实例评测 | 实例使用教学之软件安装:华为云云耀云服务器环境下安装 RabbitMQ 集群

    介绍华为云云耀云服务器

    介绍华为云云耀云服务器

    介绍华为云云耀云服务器

    华为云云耀云服务器 (目前已经全新升级为 华为云云耀云服务器L实例)

    华为云云耀云服务器是什么
    华为云耀云服务器(Hyper Elastic Cloud Server) HECS 是一种可以快速搭建且易于管理的新一代云服务器,支持全方位性能监测,快速锁定中高风险信息
    并及时提出建议,确保业务平稳运行;同时提供开箱即用的镜像,实现一键应用部署。
    
    • 1
    • 2
    华为云云耀云服务器和上一代的服务器对比有什么不同
    • 一站式配置引导:支持一站式配置指导,预装第三方市场镜像,新手小白也可分钟级完成应用搭建
    • 关键信息高效获取:极简控制台可视化管理,关键信息详情一目了然。结合高效的可视化图表,所见即所得,让您更聚焦业务
    • 全方位安全保障:提供全方位性能监测,实时观测性能全貌,快速锁定中高风险资源。智能助手深挖业务适配度,智选推荐业务升级,多重保护性能无忧

    华为云云耀云服务器和上一代的服务器对比有什么不同

    华为云云耀云服务器和弹性计算云服务器对比有什么不同
    与弹性云服务器相比,云耀云服务器简化了购买ECS过程中的一些高级配置,一站式融合购买、登录、磁盘配置、网络配置、云监控、主机安全等多种功能,帮助您更加便捷高效的部署、配置和管理应用。
    但是 HECS 底层使用的物理硬件资源与ECS一致,同CPU、内存的HECS与ECS计算能力在同一标准
    另外就是 HECS 和普通的 ECS 有足够的成本优势
    
    • 1
    • 2
    • 3
    华为云云耀云服务器和上一代的服务器对比有什么优势
    中小企业便捷高效的在云端构建电商网站、Web应用、小程序、学习环境、各类开发测试等,简单上云快一步
    
    • 1
    • 智能不卡顿:瑶光AI智能调度与新一代网络技术,软硬实力驱动性能倍增,成就更流畅、稳定的上云体验
    • 价优随心用:技术升级优化用云成本,普惠更多初创企业和开发者
    • 上手更简单:新手友好,即开即用,部署轻松,让您的业务开展快人一步
    • 管理特省心:运维、监控、资源分布一站式管理,运维更省心高效,让IT更聚焦业务

    简而言之

    • 易搭建
    • 更实惠
    • 易维护
    • 更安全

    介绍华为云云耀云服务器适用于哪些场景

    适合于 IT 能力相对较弱的初创及成长型企业和入门开发者

    介绍为什么选择华为云云耀云服务器

    随着云计算时代的进一步深入,越来越多的中小企业和开发者需要一款简单易用、高能高效的云计算基础设施产品来
    支撑自身业务运营和创新开发。华为云焕新推出的云耀云服务器L实例,正是满足企业和开发者需求的完美选择

    主要解决如下的几个核心痛点问题

    • 选择困难
    • 部署困难
    • 运维困难
    • 成本难测
    • 轻量
    • 产品性能稳定性差

    基础架构

    • HECS L基于华为云擎天架构打造
    • 包含数据面“软硬协同系统”和管控面“瑶光智慧云脑”两部分
    • 数据面针对L0/L1/L2进行垂直优化
    • 通过液冷实现高功耗CPU散热

    通过 Docker Compose 构建 RabbitMQ 集群

    RabbitMQ 简介

    RabbitMQ是一个开源的消息代理系统,用于支持分布式应用程序间的消息传递。在实际生产环境中,我们通常需要搭建RabbitMQ的集群来提高可用性和性能

    Docker Compose 简介

    Docker Compose是一个用于定义和运行多容器Docker应用程序的工具,我们可以使用Docker Compose来轻松地搭建RabbitMQ镜像集群

    准备工作

    我们登录到宝塔面板,因为之前已经安装了 Docker 、Docker Compose ,本次不再安装,我们坐下验证工作即可,确保软件正常运行

    在这里插入图片描述

    编写 Compose 代码

    version: '3'
    services:
      rabbitmq1:
        image: rabbitmq:3-management
        container_name: rabbitmq1
        hostname: rabbitmq1
        ports:
          - "5672:5672"
          - "15672:15672"
        environment:
          - RABBITMQ_ERLANG_COOKIE=secret_cookie
          - RABBITMQ_NODENAME=rabbitmq1
          - RABBITMQ_CLUSTERED=true
          - RABBITMQ_CLUSTER_NODE_TYPE=disc
          - RABBITMQ_SERVER_ADDITIONAL_ERL_ARGS="-rabbitmq_clusterer formation.minimal_master_nodes 3"
        networks:
          - rabbitmq-cluster
    
      rabbitmq2:
        image: rabbitmq:3-management
        container_name: rabbitmq2
        hostname: rabbitmq2
        ports:
          - "5673:5672"
          - "15673:15672"
        environment:
          - RABBITMQ_ERLANG_COOKIE=secret_cookie
          - RABBITMQ_NODENAME=rabbitmq2
          - RABBITMQ_CLUSTERED=true
          - RABBITMQ_CLUSTER_NODE_TYPE=disc
          - RABBITMQ_SERVER_ADDITIONAL_ERL_ARGS="-rabbitmq_clusterer formation.minimal_master_nodes 3"
        networks:
          - rabbitmq-cluster
    
      rabbitmq3:
        image: rabbitmq:3-management
        container_name: rabbitmq3
        hostname: rabbitmq3
        ports:
          - "5674:5672"
          - "15674:15672"
        environment:
          - RABBITMQ_ERLANG_COOKIE=secret_cookie
          - RABBITMQ_NODENAME=rabbitmq3
          - RABBITMQ_CLUSTERED=true
          - RABBITMQ_CLUSTER_NODE_TYPE=disc
          - RABBITMQ_SERVER_ADDITIONAL_ERL_ARGS="-rabbitmq_clusterer formation.minimal_master_nodes 3"
        networks:
          - rabbitmq-cluster
    
    networks:
      rabbitmq-cluster:
        driver: bridge
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53

    构建 Docker Compose 项目模板

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述
    添加完成

    通过项目运行容器

    我们先拉取镜像

    在这里插入图片描述

    然后到容器中添加容器
    在这里插入图片描述

    进行容器编排,选择 MQ 模版,输入名称
    在这里插入图片描述
    等待执行结果,预计需要几分钟

    在这里插入图片描述
    运行完毕,我们发现运行失败了

    在这里插入图片描述
    我们查看一下日志

    在这里插入图片描述
    意思是存在一些版本的问题,以及 cookie 目录需要 root 用户才可以访问的问题

    那我们对症下药,变更一下 MQ 的版本,我们改为 3.8.2 版本,低于他说的 3.9 版本

    在这里插入图片描述
    修改完成后,我们删除之前的项目,然后重新添加

    在这里插入图片描述

    再次运行还是不能成功,我们继续看日志,日志变了,只剩下一个问题了

    在这里插入图片描述
    重新调整了一下 Compose 文件,可以正常启动了

    version: '3'
    services:
      rabbitmq1:
        image: rabbitmq:3.8.2-management
        container_name: rabbitmq1
        hostname: rabbitmq1
        ports:
          - "5672:5672"
          - "15672:15672"
        environment:
          - RABBITMQ_ERLANG_COOKIE=secret_cookie
          - RABBITMQ_NODENAME=rabbitmq1
          - RABBITMQ_CLUSTERED=true
          - RABBITMQ_CLUSTER_NODE_TYPE=disc
        networks:
          - rabbitmq-cluster
    
      rabbitmq2:
        image: rabbitmq:3.8.2-management
        container_name: rabbitmq2
        hostname: rabbitmq2
        ports:
          - "5673:5672"
          - "15673:15672"
        environment:
          - RABBITMQ_ERLANG_COOKIE=secret_cookie
          - RABBITMQ_NODENAME=rabbitmq2
          - RABBITMQ_CLUSTERED=true
          - RABBITMQ_CLUSTER_NODE_TYPE=disc
        networks:
          - rabbitmq-cluster
    
      rabbitmq3:
        image: rabbitmq:3.8.2-management
        container_name: rabbitmq3
        hostname: rabbitmq3
        ports:
          - "5674:5672"
          - "15674:15672"
        environment:
          - RABBITMQ_ERLANG_COOKIE=secret_cookie
          - RABBITMQ_NODENAME=rabbitmq3
          - RABBITMQ_CLUSTERED=true
          - RABBITMQ_CLUSTER_NODE_TYPE=disc
        networks:
          - rabbitmq-cluster
    
    networks:
      rabbitmq-cluster:
        driver: bridge
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50

    在这里插入图片描述
    在这里插入图片描述

    验证集群状态

    我们开放一下端口:防火墙、安全组

    在这里插入图片描述
    在这里插入图片描述
    尝试访问 MQ http://120.46.137.251:15672/

    在这里插入图片描述

    目前集群状态是没有成功了,只是运行了 3 个 MQ 实例,我们进行集群,进入实例执行命令

    rabbitmqctl stop_app
    rabbitmqctl reset
    rabbitmqctl start_app
    ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime &&
      echo "Asia/Shanghai" >/etc/timezone
    date "+%Y-%m-%d %H:%M:%S" ## 显示设置后,新的系统时间
    exit
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    在这里插入图片描述

    在这里插入图片描述

    去第二个实例

    rabbitmqctl stop_app
    rabbitmqctl reset
    rabbitmqctl join_cluster --ram rabbitmq1@rabbitmq1
    rabbitmqctl start_app
    
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述
    去第三个实例

    rabbitmqctl stop_app
    rabbitmqctl reset
    rabbitmqctl join_cluster --ram rabbitmq1@rabbitmq1
    rabbitmqctl start_app
    
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    登录到 MQ 控制台,我们看看

    在这里插入图片描述
    集群成功了,三个实例运行正常

    测试停掉其中一个实例

    我们去关闭其中一个 MQ

    在这里插入图片描述
    在这里插入图片描述
    节点 2 显示未运行

  • 相关阅读:
    设计模式学习笔记(七)代理模式以及动态代理的实现
    git_SSL certificate problem: unable to get local issuer certificate解决办法
    leetcode:1203. 项目管理【双topo:组间topo + 组内topo】
    QRC:extract RC流程
    python實現圖片下載
    即将开学,为校园网络安全助力
    07 STL 简介
    详细Ubuntu16~20TLS安装NVIDIA驱动教程
    2、Calcite 源码编译与运行
    测试员可以提高获得面试机会的9个简历投递秘笈
  • 原文地址:https://blog.csdn.net/qq_15071263/article/details/133683075