Consul是一种开源的、分布式的服务发现和配置管理系统,它通常被用作微服务的治理工具。Consul可以自动监测网络中的服务,或者手动管理服务与节点之间的关系,同时支持基于DNS或者HTTP的服务发现方式。Consul运行在Linux上,本文将向你介绍如何在Linux系统上启动Consul服务。
专注于为中小企业提供网站设计制作、成都做网站服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业乐安免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了近1000家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
步骤一:下载Consul
在Linux上安装Consul之前,首先需要从HashiCorp官网(https://www.consul.io/downloads.html)下载Consul的最新版本。可以选择适合你所使用的操作系统,比如Linux、macOS或者Windows。Consul还根据不同的CPU架构提供不同的下载版本,比如AMD64,ARM等。
可以运行以下命令下载Consul的最新版本:
“`
$ wget https://releases.hashicorp.com/consul/1.8.4/consul_1.8.4_linux_amd64.zip
“`
解压下载的Consul文件:
“`
$ unzip consul_1.8.4_linux_amd64.zip
“`
步骤二:编写Consul配置文件
Consul需要一个配置文件才能启动,可以通过以下命令创建一个配置文件:
“`
$ sudo mkdir /etc/consul.d
$ sudo vi /etc/consul.d/config.json
“`
在创建的配置文件中,加入以下内容:
“`
{
“datacenter”: “mydc”,
“data_dir”: “/opt/consul”,
“log_level”: “INFO”,
“node_name”: “node1”,
“server”: true,
“bind_addr”: “192.168.56.2”,
“bootstrap_expect”: 1,
“ui”: true
}
“`
各个配置项的意义如下:
– datacenter:用于定义Consul集群所在的数据中心名称。
– data_dir:用于存储Consul数据的本地目录。
– log_level:指定Consul日志级别。
– node_name:指定当前节点的名称。
– server:如果值为true,说明当前节点是个服务器节点。
– bind_addr:用于指定Consul节点的IP地址。
– bootstrap_expect:指定需要至少几个服务器节点才能成立Consul集群。
– ui:如果为true,说明启用Consul的Web UI。
步骤三:启动Consul服务
Consul的启动需要指定配置文件路径,使用以下命令启动Consul:
“`
$ sudo ./consul agent -ui -config-dir=/etc/consul.d/
“`
关于上述命令的参数:
– agent:启动Consul的命令,agent在Consul中表示节点、客户端或服务器。
– ui:启用Consul的Web初始化界面(UI)。
– -config-dir:指定Consul的配置文件目录。
启动后,Consul将显示以下日志:
“`
==> Starting Consul agent…
==> Consul agent running!
Version: ‘1.8.4’
Node ID: ‘d70a75da-b089-2633-4c4e-82b4e8a995c4’
Node name: ‘node1’
Datacenter: ‘mydc’ (Segment: ”)
Server: true (Bootstrap: false)
Client Addr: 127.0.0.1 (HTTP: 8500, HTTPS: -1, gRPC: -1, DNS: 8600)
Cluster Addr: 192.168.56.2 (LAN: 8301, WAN: 8302)
Encrypt: Gossip: true, TLS-Outgoing: false, TLS-Incoming: false, Auto-Encrypt-TLS: false
“`
Consul已启动并正在运行.
步骤四:验证Consul服务
可以通过以下命令验证Consul服务是否已启动:
“`
$ curl http://localhost:8500/v1/catalog/services
“`
这里将返回一个空ON({}),因为还没有任何服务或节点注册到Consul中。
如果要验证是否成功注册了节点,可以在另一个终端中运行以下命令:
“`
$ sudo ./consul members
“`
这里应该会返回刚刚启动的Consul节点的信息。
在浏览器中打开以下地址可以进入Consul的Web UI:
“`
http://localhost:8500/ui/
“`
相关问题拓展阅读:
公司服务器突然断电宕机,通电开机后Consul集群自启动完成,但是无法注册握冲核服务,界面可以打开,但是无法一直在Loading状态,无法查看Nodes,无法查看Key/Value。
查看服务日志后发现是Master没有被选举出来,一直在报错 No cluster leader 。初步诊断为Consul集群数据不同步或Docker重启后IP变动和之前注册在raft中的不一致。
执行命令 consul operator raft list-peers 后提示500错误,无法正确展示。
排查段掘后定位问题为
Docker重判尘启后IP变动和之前注册在raft中的不一致
导致Consul集群无法自行选举出Master,这种问题需要手动恢复才能解决。
官方对于该问题的解决方案
这个问题解决需要用到 data/raft/peers.json 来进行手动选举与节点同步
PS:这里需要注意, peers.json 有两种格式,具体写描述可以查看 data/raft/peers.info 其中有详细的描述
如果直接按照官方的方式去做,还是会起不来的,因为各个节点之间互相不通信,每个节点都会投自己一票,结果永远会是同票数,同票数就意味着需要重新进行投票选举,就会一直陷入死循环,所以要让其他节点主动放弃自己的投票权,只保留一个节点进行投票,这样才能选举出Master。将 non_voter 设置为true就不会参与选举了。
我的是 Raft Protocol Version 3使用如下ON。
参数解释
PS:这个文件只要放在任意一个节点上面就行了,无需所有节点都放
重启Consul,集群恢复。
linux consul 启动的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux consul 启动,如何启动 Linux 上的 Consul 服务?,Consul集群故障恢复的信息别忘了在本站进行查找喔。
香港服务器选创新互联,2H2G首月10元开通。
创新互联(www.cdcxhl.com)互联网服务提供商,拥有超过10年的服务器租用、服务器托管、云服务器、虚拟主机、网站系统开发经验。专业提供云主机、虚拟主机、域名注册、VPS主机、云服务器、香港云服务器、免备案服务器等。
网站栏目:如何启动Linux上的Consul服务?(linuxconsul启动)
本文链接:http://www.mswzjz.cn/qtweb/news10/214260.html
攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能