在研究基于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
进行交互,从而实现服务注册与发现、配置管理等功能,大大简化了微服务架构下的服务治理工作。
安装工具命令包(命令包括下面用到的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
启动命令(后台运行):nohup consul agent -dev -ui -node=consul-dev -client=xxx.xxx.xxx.xx &
登录验证: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.zip
inflating: 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
代理,不会阻塞终端的进一步操作。