etcd使用

工作中的点点滴滴 2020-06-01

etcd简介

etcd 是 coreOs 团队于 2013 年 6 发起的开源项目, 他的目标是构建一个高可用的分布式键值(key-value)数据库. etcd 内部采用 raft 协议作为一致性算法, etcd基于 go 语言实现.

项目地址: https://github.com/coreos/etcd/

推荐文章: https://blog.csdn.net/bbwangj/article/details/82584988

特性

  • 简单: 安装配置简单, 而且提供了 HTTP API 进行交互, 使用也很简单.
  • 安全: 支持 SSL 证书验证.
  • 快速: 根据官方提供的 benchmark 数据, 单实例支持每秒 2k+ 读操作.
  • 可靠: 采用 raft 算法, 实现分布式数据库的可用性和一致性.

etcd 集群介绍

etcd 集群 是一个分布式系统. 使用 Raft 协议来维护集群内各个节点状态的一致性.

主机状态分为: Leader, Follower, Candidate

当集群初始化的时候,每个节点都是 Follower 角色.

通过心跳与其他节点同步数据.当 Follower 在一定时间内没有收到来自主节点的心跳,会将自己角色变为 Candidate ,并发起一次选主投票.

配置 etcd 集群,建议尽可能是奇数个节点,而不要是偶数节点.

单节点etcd配置

1. 安装 etcd
[ ~]# yum install etcd -y

# 2. 修改配置文件
[ ~]# cat /etc/etcd/etcd.conf 
#[Member]
# 数据目录
ETCD_DATA_DIR="/var/lib/etcd/cluster.etcd"
# 集群通信的监听地址
ETCD_LISTEN_PEER_URLS="http://172.16.0.111:2380,http://localhost:2380"
# 客户端的连接地址
ETCD_LISTEN_CLIENT_URLS="http://172.16.0.111:2379,http://localhost:2379"
# 名字标识符
ETCD_NAME="test1"

# 启动 etcd
[ ~]# systemctl start etcd
[ ~]# systemctl enable etcd

# 3. 查看节点
[ ~]# etcdctl member list
8e9e05c52164694d: name=test1 peerURLs=http://localhost:2380 clientURLs=http://localhost:2379 isLeader=true
# 4. 查看健康状态
[ ~]# etcdctl cluster-health
member 8e9e05c52164694d is healthy: got healthy result from http://localhost:2379
cluster is healthy

# 5. 操作 etcd
[ ~]# etcdctl mkdir /test
[ ~]# etcdctl ls /
/test
[ ~]# etcdctl rmdir /test

 etcd集群配置

https://www.cnblogs.com/effortsing/p/10332496.html

相关推荐