搭建Etcd集群

官网:https://etcd.io/
Github:https://github.com/etcd-io/etcd/releases

一. 关于ETCD

  • etcd是一个开源的、分布式的键值对数据存储系统,提供共享配置、服务的注册和发现。
  • 场景一:服务发现(Service Discovery)
  • 场景二:消息发布与订阅
  • 场景三:负载均衡
  • 场景四:分布式通知与协调
  • 场景五:分布式锁
  • 场景六:分布式队列
  • 场景七:集群监控与Leader竞选

二. 单机安装

下载ETCD 选择对应的release版本,每个版本都有官方的Linux/Mac/Docker安装参考。

# 设置安装参数
ETCD_VER=v3.4.2
GITHUB_URL=https://github.com/etcd-io/etcd/releases/download
DOWNLOAD_URL=${GITHUB_URL}

# 下载安装
wget ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-linux-amd64.tar.gz
tar -zxvf ./etcd-v3.4.2-linux-amd64.tar.gz
mkdir /usr/local/etcd
cp ./etcd-v3.4.2-linux-amd64/etcd* /usr/local/etcd

# 设置环境变量
echo "export PATH=$PATH:/usr/local/etcd"

# 启动守护进程
nohup etcd \
--listen-client-urls http://0.0.0.0:2379 \
--advertise-client-urls http://0.0.0.0:2379 \
>/tmp/etcd.log 2>&1 & 

# 测试安装
etcdctl --endpoints=localhost:2379 put foo "hello"
etcdctl --endpoints=localhost:2379 get foo
curl 0.0.0.0:2379/version

Mac版只需要将相应的linux关键词换成darwin


三. 搭建集群

1. 全局参数: 准备三台虚拟机(192.168.1.11192.168.1.12192.168.1.13),执行相同的以下命令

TOKEN=token-XXX01	#此处须随节点修改
CLUSTER_STATE=new
NODE1=node1
NODE2=node2
NODE3=node3
HOST1=http://192.168.1.11
HOST2=http://192.168.1.12
HOST3=http://192.168.1.13
CLUSTER=${NODE1}=${HOST1}:2380,${NODE2}=${HOST2}:2380,${NODE3}=${HOST3}:2380

2. 指定变量: 按对应关系选择执行以下命令

NODE=${NODE1} && HOST=${HOST1}    #节点1上执行
NODE=${NODE2} && HOST=${HOST2}    #节点2上执行
NODE=${NODE3} && HOST=${HOST3}    #节点3上执行

3. 启动服务: 都执行以下命令

nohup etcd --name ${NODE} \
--data-dir=/data/etcd/data.etcd \
--initial-advertise-peer-urls ${HOST}:2380 \
--listen-peer-urls ${HOST}:2380 \
--advertise-client-urls ${HOST}:2379 \
--listen-client-urls ${HOST}:2379 \
--initial-cluster ${CLUSTER} \
--initial-cluster-state ${CLUSTER_STATE} \
--initial-cluster-token ${TOKEN} \
 >/tmp/etcd.log 2>&1 &

4. 验证服务: 在集群中的任意一台中执行

etcdctl --endpoints=192.168.1.11:2379,192.168.1.12:2379,192.168.1.13:2379 endpoint status -w table

在这里插入图片描述


参考:
https://www.jianshu.com/p/2966b6ef5d10
https://mritd.me/2016/09/01/Etcd-%E9%9B%86%E7%BE%A4%E6%90%AD%E5%BB%BA/
https://blog.csdn.net/ShouTouDeXingFu/article/details/81167302
https://blog.csdn.net/bbwangj/article/details/82584988
https://www.liwenzhou.com/posts/Go/go_etcd/
http://www.iigrowing.cn/etcd_shi_yong_ru_men.html
https://www.jianshu.com/p/8e4bbe7e276c
https://segmentfault.com/a/1190000014045625
https://www.cnblogs.com/davygeek/p/7154780.html
https://www.cnblogs.com/zhenghongxin/p/7029173.html
https://blog.csdn.net/zhaominpro/article/details/82630528

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值