基于滴滴云服务器搭建 Consul 集群

本文详细介绍如何在滴滴云的虚拟机上搭建Consul集群,包括安装Consul、配置Server和Client模式、集群连接及验证过程。适用于分布式系统中服务发现和配置管理的学习与实践。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

Consul 是什么

Consul 是用 Go 开发的分布式服务协调管理的工具,它提供了服务发现,健康检查,Key/Value 存储等功能,并且支持跨数据中心的功能。

Consul 基本概念

  • Agent 组成 Consul 集群的每个成员上都要运行一个 Agent,可以通过 Consul Agent 命令来启动。Agent 可以运行在 Server 状态或者 Client 状态。


  • Client 就是客户端模式。是 Consul 节点的一种模式,这种模式下,所有注册到当前节点的服务会被转发到 Server,本身是不持久化这些信息。

  • Server 就是服务端模式,这种模式下,功能和 Client 都一样,唯一不同的是,它会把所有的信息进行持久化。

准备环境

Consul 集群是基于 滴滴云 虚拟机搭建 滴滴云  。

滴滴云 服务器 (DC2): 安全可靠,拥有极高的性价比高,为开发者的需求而设计。适合大中小型用户购买使用。

弹性公网 IP (EIP): 计费灵活,适配各类应用架构。可以满足用户各类应用场景需求。

安装过程

登录机器

滴滴云 平台上选择三台 Centos7.3 机器,选择 DC2 默认账户 dc2-user,使用 SSH 登录方式分别登录三台云主机:

由于搭建集群时需要 root 权限,切换到 root 账户:

  sudo   - i

建立 Consul 数据目录

  mkdir   - p   / usr / local / consul / data

下载 Consul

进入  /usr/local/consul  目录,Consule 官网下载地址,选择 Linux 平台:

  cd   / usr / local / consul

  sudo  wget  https : //releases.hashicorp.com/consul/1.4.0/consul_1.4.0_linux_amd64.zip

解压

  unzip  consul_1 . 4.0_linux_amd64.zip

验证安装

使用 Consul 命令验证:

启动 Consul Server

在第一台 Server上启动:

  . / consul  agent   - server   - ui   - bootstrap - expect   2   - data - dir = data   - node = n1   - bind = { ip1 }   - client = 0.0.0.0   &

启动后,查看 members:

在第二台 Server 上启动:

  . / consul  agent   - server   - ui   - bootstrap - expect   2   - data - dir = data   - node = n2   - bind = { ip2 }   - client = 0.0.0.0   &

启动后,查看 members:

在第三台 Server 上启动:

  . / consul  agent   - server   - ui   - bootstrap - expect   2   - data - dir = data   - node = n3   - bind = { ip3 }   - client = 0.0.0.0   &

启动后,查看当前 members:

此时,三台 Server 都是独立的机器,下一步就是将三台机器连接成集群。

连接集群

第二台机器上分别连接第一台机器:

  . / consul   join   -- http - addr   { ip1 } : 8500   { ip2 }

第三台机器上连接第一台机器:

  . / consul   join   -- http - addr   { ip1 } : 8500   { ip2 }

查看集群

查看集群 Leader

可在任意一节点上执行:

查看集群 Peers

可在任意一节点上执行:

附录

Consul 命令行

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31559758/viewspace-2284942/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/31559758/viewspace-2284942/

### 如何在两台服务器上设置和配置Consul集群 #### 准备工作 为了成功建立一个由两台服务器组成的Consul集群,每台服务器都需要安装并正确配置Consul软件。确保这两台服务器能够通过网络相互通信。 #### 安装Consul 在每一台目标机器上下载适合操作系统Consul版本,并按照官方文档中的说明完成安装过程[^2]。 #### 配置文件设定 创建必要的目录用于存储数据以及任何自定义配置文件。例如,在Linux环境下可以使用如下命令来创建这些目录: ```bash sudo mkdir -p /data/consul ``` 对于每台作为服务器节点的机器而言,应该指定`-server`参数以表明其身份;同时利用`-bootstrap-expect`选项告知期望参与初始选举成为领导者成员的数量——在这个例子中为2,因为只有两个节点构成整个集群。 #### 启动第一个节点 (假设IP地址为 `10.100.110.72`) 启动首个Consul实例时需提供详细的启动参数,包括但不限于绑定接口(`-bind`)、监听所有客户端连接(`-client=0.0.0.0`)、持久化状态的数据路径(`/data/consul`)及唯一标识符(`-node`)等信息。此外还启用了Web UI界面方便管理和监控集群状况: ```bash consul agent -server -bootstrap-expect 2 \ -bind=10.100.110.72 \ -client=0.0.0.0 \ -data-dir=/data/consul \ -node=consul2 \ -ui ``` #### 加入第二个节点 (`10.100.110.73`) 同样的方式启动另一个Consul代理进程,但是这次要让它加入到已存在的集群当中去。这可以通过省略`-bootstrap-expect`标志实现自动发现现有集群的功能,而不需要再次尝试初始化新的集群结构。其余部分保持一致即可: ```bash consul agent -server \ -bind=10.100.110.73 \ -client=0.0.0.0 \ -data-dir=/data/consul \ -node=consul3 \ -ui \ -join=10.100.110.72 ``` 上述命令会使得新启动的服务端点主动寻找位于同一局域网内具有相同标签名(即`consul2`)的第一个节点并与之形成分布式系统的一部分。 #### 测试集群功能 当所有的服务端都已经正常运行之后,就可以测试它们之间的通信情况了。可以在任意一台主机上面执行下面这条指令查看当前在线成员列表及其健康状态: ```bash consul members ``` 如果一切顺利的话,则意味着已经成功构建了一个简单的双机Consul集群环境。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值