目录
- 📚第一章 前言
- 📗背景
- 📗软件概述
- 📚第二章 部署
- 📗在线部署
- 📕需要root权限
- 📕执行安装命令
- 📕启动consul服务
- 📕验证consul服务
- 📗离线部署
- 📕下载安装包
- 📕上传解压
- 📕启动验证(同在线安装)
- ⁉️其它
- ❗一:`yum-config-manager`命令解释
- ❗二:`Consul`代理启动命令解释
📚第一章 前言
📗背景
在研究基于Kettle开发的web版数据集成开源工具部署中发现需要用到服务注册软件

📗软件概述
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进行交互,从而实现服务注册与发现、配置管理等功能,大大简化了微服务架构下的服务治理工作。
📚第二章 部署
📗在线部署
📕需要root权限
- 官网:https://developer.hashicorp.com/consul/install
- 选择合适的系统安装命令(需要root权限)

📕执行安装命令
安装工具命令包(命令包括下面用到的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

安装验证:consul -v

📕启动consul服务
启动命令(后台运行):nohup consul agent -dev -ui -node=consul-dev -client=xxx.xxx.xxx.xx &

📕验证consul服务
登录验证:http://localhost:8500


📗离线部署
📕下载安装包
参照确认系统架构方法,x86_64就是amd86,下载amd86安装包
[opensource@bigdata02 ~]$ uname -m
x86_64
[opensource@bigdata02 ~]$ lscpu |grep Architecture
Architecture: x86_64
[opensource@bigdata02 ~]$
[opensource@bigdata02 ~]$

📕上传解压
博主重新找了一台虚拟机进行离线安装,解压后,把文件放到/usr/bin目录下面即可

命令参考如下(放到/usr/bin需要root权限,这样所有用户都可以用):
[dolphinscheduler@bigdata03 ~]$ ll consul_1.17.1_linux_amd64.zip
-rwxr-xr-x. 1 dolphinscheduler dolphinscheduler 64867108 1月 2 11:39 consul_1.17.1_linux_amd64.zip
[dolphinscheduler@bigdata03 ~]$
[dolphinscheduler@bigdata03 ~]$ unzip consul_1.17.1_linux_amd64.zip
Archive: consul_1.17.1_linux_amd64.zipinflating: consul
[dolphinscheduler@bigdata03 ~]$
[dolphinscheduler@bigdata03 ~]$ ll
总用量 232428
-rwxr-xr-x. 1 dolphinscheduler dolphinscheduler 173137598 12月 13 03:55 consul
-rwxr-xr-x. 1 dolphinscheduler dolphinscheduler 64867108 1月 2 11:39 consul_1.17.1_linux_amd64.zip
drwxrwxr-x. 12 dolphinscheduler dolphinscheduler 247 3月 22 2023 dolphinscheduler
drwxrwxr-x. 3 assets_masterdata assets_masterdata 45 3月 27 2023 rsfiles
[dolphinscheduler@bigdata03 ~]$
[dolphinscheduler@bigdata03 ~]$
[dolphinscheduler@bigdata03 ~]$ sudo cp consul /usr/bin
[dolphinscheduler@bigdata03 ~]$
[dolphinscheduler@bigdata03 ~]$ consul -v
Consul v1.17.1
Revision 9bcafa24
Build Date 2023-12-12T19:55:27Z
Protocol 2 spoken by default, understands 2 to 3 (agent will automatically use protocol >2 when speaking to compatible agents)[dolphinscheduler@bigdata03 ~]$
📕启动验证(同在线安装)


⁉️其它
❗一:yum-config-manager命令解释
通过yum-config-manager工具将一个指定的仓库地址添加到系统已有的软件源列表中:
sudo:以超级用户权限执行该命令,因为修改系统级别的软件源通常需要管理员权限。yum-config-manager: 是Yum(Yellowdog Updater, Modified)的一个子命令,用于管理Yum的配置选项和软件仓库--add-repo: 参数表示要添加一个新的软件仓库https://rpm.releases.hashicorp.com/RHEL/hashicorp.repo: 这是待添加仓库的配置文件URL
执行这条命令不会直接删除或覆盖现有的其他软件仓库配置,而是会在/etc/yum.repos.d/目录下创建或更新一个repo文件,使得系统在后续使用yum install或yum update等命令时能从新添加的仓库获取软件包信息。
❗二:Consul代理启动命令解释
nohup consul agent -dev -ui -node=consul-dev -client=xxx.xxx.xxx.xx &用来启动Consul代理,命令各部分的含义如下:
nohup: 当用户退出终端时,使用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代理进行交互,比如注册服务、查询服务等。&: 在命令末尾加上&符号表示让命令在后台运行,即以守护进程的方式启动Consul代理,不会阻塞终端的进一步操作。