Consul微服务配置中心部署(在线安装)

博主介绍:
计算机科班人,全栈工程师,掌握C、C#、Java、Python、Android等主流编程语言,同时也熟练掌握mysql、oracle、sqlserver等主流数据库,具有丰富的项目经验和开发技能。提供相关的学习资料、程序开发、技术解答、代码讲解、文档报告等专业服务。


目录

      • 📗软件概述
      • 📗在线部署
        • 📕官网
        • 📕安装
        • 📕安装验证
        • 📕启动consul服务
        • 📕验证consul服务
      • 📗命令解释
        • 📕yum-config-manager命令
        • 📕Consul代理启动命令解释

📗软件概述

Consul 是由 HashiCorp 公司开发的一款开源工具,它主要用作服务发现、配置中心和分布式系统的服务治理平台,核心功能包括:

  • 服务发现:Consul 提供了服务注册与健康检查机制,使得微服务架构中的各个服务实例能够自动注册到 Consul 中,并通过 DNS 或 HTTP API 实现服务间的互相发现。
  • 配置共享与管理:Consul 可以作为配置中心存储和分发配置信息给各个应用节点,支持 KV 存储,允许动态更新配置并在集群中快速传播。
  • 健康检查:通过健康检查机制,Consul 能够持续监控服务的健康状态,确保只有健康的实例才能被调用。
  • 多数据中心支持:Consul 使用基于 RAFT 协议的强一致性保证,可以实现跨多个数据中心的服务发现和配置同步。

Spring Cloud 是一个为简化在 Java 平台上构建分布式系统的框架,其中包含了一系列子项目来整合云原生应用所需的常见模式和最佳实践。Spring Cloud Consul 是 Spring Cloud 体系中专门用于与 Consul 集成的模块,它可以方便地将 Consul 的服务发现与配置管理能力接入到基于 Spring Cloud 构建的微服务架构中。通过 Spring Cloud Consul,开发者能够轻松地让 Spring Boot 应用程序与 Consul 进行交互,从而实现服务注册与发现、配置管理等功能,大大简化了微服务架构下的服务治理工作。


📗在线部署

📕官网

官网:https://developer.hashicorp.com/consul/install

查看系统版本

[root@localhost ~]# lscpu |grep Architecture
Architecture:          x86_64
[root@localhost ~]# cat /etc/os-release
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"

选择合适的系统安装命令,如下

在这里插入图片描述


📕安装

安装工具命令包(命令包括下面用到的 yum-config-manager):

sudo yum install -y yum-utils

在这里插入图片描述

添加consul仓库地址:

sudo yum-config-manager --add-repo https://rpm.releases.hashicorp.com/RHEL/hashicorp.repo

在这里插入图片描述

安装consul:

sudo yum -y install consul

在这里插入图片描述

如果出现如下错误:

(1)[Errno 14] HTTPS Error 404 - Not Found

在这里插入图片描述

vi /etc/yum.repos.d/hashicorp.repo,将 baseurl 进行替换即可

#baseurl=https://rpm.releases.hashicorp.com/RHEL/$releasever/$basearch/stable
baseurl=https://rpm.releases.hashicorp.com/RHEL/8/$basearch/stable

在这里插入图片描述

(2)如果出现Cannot find a valid baseurl for repo: base/7/x86_64错误

在这里插入图片描述

vi /etc/yum.repos.d/CentOS-Base.repo进行如下修改,更换个YUM仓库源,使用阿里云或其他国内镜像源都可。

在这里插入图片描述

#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/

📕安装验证
consul -v

在这里插入图片描述


📕启动consul服务
# 启动命令(后台运行),xxx.xxx.xxx.xx为本机ip
nohup consul agent -dev -ui -node=consul-dev -client=xxx.xxx.xxx.xx &

在这里插入图片描述

如需开启防火墙策略,如下

firewall-cmd --add-port=8500/tcp --zone=public --permanent
firewall-cmd --reload

📕验证consul服务

访问验证:http://192.168.157.140:8500/

在这里插入图片描述


📗命令解释

📕yum-config-manager命令

yum-config-manager命令用于管理软件仓库,可以将一个指定的仓库地址添加到系统已有的软件源列表中,执行下面这条命令会在/etc/yum.repos.d/目录下创建或更新一个repo文件,使得系统在后续使用 yum install 或yum update 等命令时能从新添加的仓库获取软件包信息。

sudo yum-config-manager --add-repo https://rpm.releases.hashicorp.com/RHEL/hashicorp.repo

sudo:允许普通用户使用超级用户权限执行命令。
–add-repo:添加(和启用)软件仓库。


📕Consul代理启动命令解释
nohup consul agent -dev -ui -node=consul-dev -client=xxx.xxx.xxx.xx &

nohup:在终端退出时,继续在后台运行,并将输出重定向到指定文件中。
consul agent:启动Consul的代理进程,它是Consul服务的核心组件,负责服务发现、健康检查以及集群内部的通信和管理。
-dev:表明 Consul 代理将以开发者模式启动。该模式下,Consul将会在单节点内创建一个完整的Consul集群,数据存储在内存中,重启后数据将丢失,适用于快速测试和开发环境。
-ui:开启内置的Web用户界面,这样可以通过浏览器访问Consul提供的管理界面,默认监听在本地8500端口的 /ui 路径下。
-node=consul-dev:设置当前Consul代理节点的名称为consul-dev,用于标识集群中的唯一节点。
-client=xxx.xxx.xxx.xxx:指定Consul代理监听客户端请求的IP地址为xxx.xxx.xxx.xxx,这意味着其他服务或者工具需要通过这个IP地址与Consul代理进行交互,比如注册服务、查询服务等。
&:在命令末尾加上&符号表示让命令在后台运行,一般和nohup配合使用,即以守护进程的方式启动Consul代理,不会阻塞终端的进一步操作。


大家点赞、收藏、关注、评论啦!


更多技术干货,请持续关注程序员大佬超。
原创不易,转载请务必注明出处。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/58198.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring Task—定时任务

Spring Task 是 Spring 提供的一种轻量级定时任务调度功能,内置在 Spring 框架中。与 Quartz 等重量级调度框架相比,Spring Task 使用简便,无需额外依赖,适合在简单的调度任务场景中使用。通过注解配置方式,开发者可以…

DDR内存和Flash内存

DDR内存 DDRDouble Data Rate双倍速率同步动态随机存储器。严格的说DDR应该叫DDR SDRAM,人们习惯称为DDR,其中,SDRAM 是Synchronous Dynamic Random Access Memory的缩写,即同步动态随机存取存储器。而DDR SDRAM是Double Data Ra…

分布式数据库技术金融应用规范技术架构

目录 引 言 概述 技术框架 技术框架概述 物理资源层 计算模块 功能特性 功能架构概述 基本功能 部署灵活性 并发处理能力 扩缩容 扩容 缩容 引 言 随着金融领域分布式架构的转型升级,分布式数据库技术在金融领域应用逐步深入。为规范分布 式数据库技…

从0开始electron+vue2搭建环境

使用环境:node版本16.16.0 目录 搭建vue项目安装electron打包electron 搭建vue项目 已有vue2的环境直接进项安装electron步骤 没有的请先移动到这里查看 vue2脚手架搭建项目流程 我就不另外记录了 安装electron 直接运行 vue add electron-builder安装完成后&…

【脚本】B站视频AB复读

控制台输入如下代码,回车 const video document.getElementsByTagName("video")[0];//获取bpx-player-control-bottom-center容器,更改其布局方式const div document.getElementsByClassName("bpx-player-control-bottom-center")[0];div.sty…

pycharm导出环境安装包列表

pycharm导出环境安装包列表 一、导出安装包列表二、安装requirements.txt三、列表显示已安装的包四、显示特定包的信息 一、导出安装包列表 pip freeze > requirements.txt二、安装requirements.txt pip install -r requirements.txt三、列表显示已安装的包 pip list四、…

Qt学习笔记第31到40讲

第31讲 多态 基本概念 多态(Polymorphism)是面向对象编程(OOP)的一个重要特性。在 C 中,多态是指用同一个函数名或操作符在不同的上下文中可以表现出不同的行为。简单来说,多态允许不同的对象对同一消息&a…

力扣刷题(sql)--零散知识点(2)

1.自定义分组后的分类统计问题(某组内无数据却仍要展示) 例题1: 查询每个工资类别的银行账户数量。 工资类别如下: "Low Salary":所有工资 严格低于 20000 美元。"Average Salary":…

源码复现detectron2时遇到的错误

说明:安装detectron2直接进到官网 detectron2源码 中找安装文档,安装安装文档一般没什么问题,但是我确实出现了问题,包括有: gcc版本太低:提示说需要gcc 9及以上的版本才可以pytorch版本不匹配&#xff1a…

【机器学习基础】激活函数

激活函数 1. Sigmoid函数2. Tanh(双曲正切)函数3. ReLU函数4. Leaky ReLU函数 1. Sigmoid函数 观察导数图像在我们深度学习里面,导数是为了求参数W和B,W和B是在我们模型model确定之后,找出一组最优的W和B,使…

ipad-make-sense:首个支持 iPad 的开源数据标注工具

在机器学习和人工智能快速发展的今天,高质量的数据标注工具变得越来越重要。然而,大多数现有的数据标注工具都局限于传统的桌面环境,无法适应现代移动办公的需求。今天,我要向大家介绍一个突破性的解决方案 —— ipad-make-sense&…

阳振坤:云时代数据库的思考 | OceanBase发布会实录

在2024 OceanBase 年度发布会中,OceanBase 的创始人与首席科学家阳振坤进行了《云时代数据库的思考》的主题分享。本文为演讲实录。 亲爱的朋友们,衷心感谢各位莅临今天的发布会现场。今天是一个云的时代,我想与大家分享,我对于云…

51单片机完全学习——DS18B20温度传感器

一、DS18B20数据手册解读 首先我们知道DS18B20使用的是单总线传输,默认情况下读出来的温度是12位的,我们这里只讨论外部电源供电这种情况。 有这张图片我们知道,12位温度的最小分辨率是10^-4次方,因此就是0.0625.我们只需要将最后…

leetcode hot100【LeetCode 94. 二叉树的中序遍历】java实现

LeetCode 94. 二叉树的中序遍历 题目描述 给定一个二叉树,返回它的中序遍历。 示例 1: 输入:root [1,null,2,3] 输出:[1,3,2]示例 2: 输入:root [] 输出:[]示例 3: 输入&…

Docker快速安装Grafana

#创建数据目录 sudo mkdir -p /app/grafana/config sudo mkdir -p /app/grafana/data sudo chmod -R 777 /app/grafana/config sudo chmod -R 777 /app/grafana/data #配置文件grafana.ini ##################### Grafana Configuration Example ##################### # # E…

STM32应用详解(12)使用I2C的main函数例程

文章目录 前言一、支持I2C总线的常见器件二、程序详解1.main函数2.读取传感器温度值的函数3.相关宏定义 前言 学习I2C总线。本文件主要分析main函数和LM75A驱动程序。了解器件驱动基本原理。 一、支持I2C总线的常见器件 (1)支持I2C总线的器件有很多,在开发板上支持…

redis详细教程(3.ZSet,Bitmap,HyperLogLog)

ZSet Redis 的 ZSet(有序集合)是一种特殊的数据类型,它允许存储一系列不重复的字符串元素,并为每个元素关联一个分数(score)。这个分数用于对集合中的元素进行排序。ZSet 的特点是: 唯一性&am…

Openlayers高级交互(11/20):显示带箭头的线段轨迹,箭头居中

本示例介绍如何在vue+openlayers项目中设置带有箭头的线段,箭头位于线段的中间位置。这里用到 forEachSegment 函数, 这个函数接受一个特征和一个回调函数作为参数。它遍历特征中的每个子线段,并调用回调函数传入子线段的中点坐标。 效果图 专栏名称内容介绍Openlayers基础…

代码布局风格指南

代码布局风格指南 本内容面向于新手,内容也比较笼统,看文章阅读量,如果阅读和点赞量较高,就会开一个专栏来进行详细的说明。 在编写C语言代码时,良好的代码风格不仅能够提高代码的可读性,还能方便团队协作…

Springboot整合spring-boot-starter-data-elasticsearch

前言 <font style"color:rgb(36, 41, 47);">spring-boot-starter-data-elasticsearch</font> 是 Spring Boot 提供的一个起始依赖&#xff0c;旨在简化与 Elasticsearch 交互的开发过程。它集成了 Spring Data Elasticsearch&#xff0c;提供了一套完整…