Centos7环境下etcd集群的搭建 一、简介 "A highly-available key value store for shared configuration and service discovery." Etcd是coreos开发的分布式服务系统,内部采用raft协议作为一致性算法。作为一个高可用的配置共享、服务发现的键值存储系统,Etcd有以下的特点: 简单:安装配置简单,而且提供了 HTTP API 进行交互,使用也很简单 安全:支持 SSL 证书验证 快速:根据官方提供的数据,单实例支持每秒2k+读操作、1k写操作 可靠:采用raft算法,实现分布式系统数据的可用性和一致性 Etcd构建自身高可用集群主要有三种形式: 静态发现: 预先已知 Etcd 集群中有哪些节点,在启动时直接指定好Etcd的各个node节点地址 Etcd动态发现: 通过已有的Etcd集群作为数据交互点,然后在扩展新的集群时实现通过已有集群进行服务发现的机制 DNS动态发现: 通过DNS查询方式获取其他节点地址信息 本文主要介绍第一种方式,后续会陆续介绍剩下的两种方式。(直接docker安装请移步:quay.io/coreos/etcd 基于Docker镜像的集群搭建) 二、环境介绍 三台虚拟机,系统环境均为Centos7,对应节点名称及IP地址如下,将这个信息添加到三台主机的hosts文件中,编辑/etc/hosts [root@node1 ~]# cat /etc/hosts 192.168.3.198 node1 192.168.3.199 node2 192.168.3.200 node3 三、安装、配置Etcd 在3个节点上都安装etcd服务 # yum install etcd -y yum安装的etcd默认配置文件在/etc/etcd/etcd.conf,以下将三个节点上的配置贴出来,请注意不同点(未贴出的,则表明不需要更改) node1 [root@node1 etcd]# cat etcd.conf #[Member] #ETCD_CORS="" # 数据存放位置 ETCD_DATA_DIR="/var/lib/etcd/default.etcd" #ETCD_WAL_DIR="" # 监听其他 Etcd 实例的地址 ETCD_LISTEN_PEER_URLS="http://0.0.0.0:2380" # 监听客户端地址 ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379,http://0.0.0.0:4001" #ETCD_MAX_SNAPSHOTS="5" #ETCD_MAX_WALS="5" # 节点名称 ETCD_NAME="node1" #ETCD_SNAPSHOT_COUNT="100000" #ETCD_HEARTBEAT_INTERVAL="100" #ETCD_ELECTION_TIMEOUT="1000" #ETCD_QUOTA_BACKEND_BYTES="0" # #[Clustering] # 通知其他 Etcd 实例地址 ETCD_INITIAL_ADVERTISE_PEER_URLS="http://node1:2380" # 通知客户端地址 ETCD_ADVERTISE_CLIENT_URLS="http://node1:2379,http://node1:4001" #ETCD_DISCOVERY="" #ETCD_DISCOVERY_FALLBACK="
Centos7环境下etcd集群的搭建
最新推荐文章于 2025-05-26 09:45:45 发布