赞
踩
etcd 是一种开源的分布式统一键值存储,用于分布式系统或计算机集群的共享配置、服务发现和的调度协调。 etcd 是 Kubernetes 的首要数据存储,也是容器编排的实际标准系统。
etcd 是 CoreOS 团队于 2013 年 6 月发起的开源项目,它的目标是构建一个高可用的分布式键值(key-value)数据库。具有以下特点:
etcd 采用 Go 语言编写,它具有出色的跨平台支持,很小的二进制文件和强大的社区。 etcd 机器之间的通信通过 Raft 算法处理。
要解决服务发现的问题,需要下面三大支柱,缺一不可。
下载之后 进行解压
[root@localhost local]# tar -zxvf etcd-v3.4.3-linux-amd64.tar.gz
再进入etcd-v3.4.3-linux-amd64/
[root@localhost local]# cd etcd-v3.4.3-linux-amd64/
这就是解压里面的文件
如果你要打开etcd就直接运行./etcd 但是每次运行它不能关闭这个窗口太麻烦了,那我们怎么办?
答:将etcd和etcdctl二进制文件复制到/usr/local/bin
cp etcd etcdctl /usr/local/bin
查看etcd版本
etcd --version
我们没有指定它在哪个文件 但是它自己会自动去找文件
输入etcd 即可启动一个单节点的etcd服务
建立etcd相关目录即数据文件和配置文件的保存位置
[root@localhost /]# mkdir -p /var/lib/etcd/ && mkdir -p /etc/etcd/
创建etcd
[root@localhost /]# vim /etc/etcd/etcd.conf
# 节点名称
ETCD_NAME="etcd0"
# 指定数据文件存放位置
ETCD_DATA_DIR="/var/lib/etcd/"
创建systemd配置文件
vim /etc/systemd/system/etcd.service
[Unit]
Description=Etcd Server
After=network.target
After=network-online.target
Wants=network-online.target[Service]
User=root
Type=notify
WorkingDirectory=/var/lib/etcd/
## 根据实际情况修改EnvironmentFile和ExecStart这两个参数值
## 1.EnvironmentFile即配置文件的位置,注意“-”不能少
EnvironmentFile=-/etc/etcd/etcd.conf
## 2.ExecStart即etcd启动程序位置
ExecStart=/usr/local/bin/etcd
Restart=on-failure
LimitNOFILE=65536[Install]
WantedBy=multi-user.target
刷新一下
systemctl daemon-reload
就不要使用etcd什么的 而是使用systemctl
etcdctl -h
etcdctl put /testdir/testkey "Hello world"
--sort 对结果进行排序
--consistent 将请求发给主节点
清空数据
etcdctl del / --prefix
删除所有
etcdctl del /test --prefix
watch,监测一个键的变化 一旦发生更新,就会输出最新的值并退出
etcdctl watch key1
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。