最近在写springcloud系列文章,其中注册中心中使用的consul也是文章篇幅之一,这篇文章介绍了我对于consul的安装的一个步骤,可以作为大家在安装使用consul的过程中的一个参考。

1、windows安装

        访问官网下载地址,下载windows对应版本,这里386对应的是32位系统,AMD64对应的是64位系统。下载完成后解压缩,会有一个consul.exe文件,双击打开就启动了consul服务。

我的电脑双击之后,直接闪一下就没有了,后面查看任务管理器,发现其实是已经运行了的,也可以使用cmd输入 consul --version  来进行验证 

使用开发者模式启动consul agent -dev

 启动完成后就可以访问管理页面localhost:8500

2、linux安装

还是访问consul官网 安装地址,选择对应的我们的linux系统版本(也可以选择下面的文件下载后再上传到linux服务)

根据官网的命令来执行下载我们的consul

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

 安装完毕后,我们启动使用consul agent -dev启动,就可以访问到consul的web管理界面了。

3、Consul agent讲解

有兴趣的可以访问Commands | Consul | HashiCorp Developer官网的命令大全地址进行学习。

什么是agent?

        agent是consul的核心,它负责运行代理执行维护成员信息、运行检查、注册服务、响应查询等重要任务,agent分为server及client两种,其中server负责维护成员信息(数据存储)、检查、注册服务、响应查询,client之负责将请求转发到server,不进行持久化存储等功能。

我们启动consul的的时候一般使用命令consul [command] [options]的方式.

command:

  • agent:consul的节点分为client和server两类,这两类节点统称为agent节点。
  • join:该命令的作用是将agent加入到consul的集群当中。当新启动一个agent节点后,往往需要指定节点需要加入到特定的consul集群中,此时使用join命令进行指定。
  • members:列出consul集群中的所有的成员节点信息,包括ip,端口,状态,类型等信息。

options:

option decribe default
-server boolean,表示当前代理是通过server方式还是client方式启动 false
-datacenter 指定代理运行在哪个数据中心的字符串值 dc1
-data_dir 指定存储代理状态数据的目录的字符串值。 none
-log_level 指定代理报告日志记录级别的字符串值,可选值"trace", "debug", "info", "warn", and "error" info
-retry_join 指定启动后要加入的一个或多个代理地址的字符串值数组。代理将继续尝试加入指定的代理,直到成功地加入另一个成员,允许错误。
-node 代理节点的名称,保证代理节点在集群中的唯一性 默认使用HostName
-bootstrap boolean值,一般只有一个server设置,表示此server当选为leader节点。
-bootstrap-expect int,该选项用于通知consul server类型节点,指定集群的server节点个数,该参数是为了延迟选举启动,直到全部的节点启动完毕以后再进行启动

-ui_config.enable

boolean,表示是否开启ui界面(1.10版本之前配置为ui=true)

false
-bind 该选项用于指定节点所在的IP地址
-client 该参数用于指定consul界定为client节点类型
-config-file

指定一个要装载的配置文件。该选项可以配置多次,进而配置多个配置文件。

-dev:该选项用于创建一个开发环境下的server节点,该参数配置下,不会有任何持久化操作,即不会有任何数据写入到磁盘。dev模式仅仅是在开发和测试环境中使用,不能用于生产环境。

-config-dir 该选项用于指定service的配置文件和检查定义所在的位置。通常会指定为"某一个路径/consul.d"(通常情况下,.d表示一系列配置文件存放的目录)

我们在进行开发测试的时候可以使用consul agent -dev,当使用-dev的时候,将启动一个server模式的代理服务,它会自动帮我们进行相关的一系列配置,只需要我们指定数据的存储目录,可以使用-data-dir=/opt/consuldata的方式进行指定,也可以使用外部配置文件来进行配置-config-file=/opt/consul.json或者-config-file=/opt/consul.hcl,hcl是consul官方的例子配置文件方式,我们一般都是用json文件来进行配置,这里就不做过多的描述,使用hcl就类似properties文件。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐