前言
etcd 是一个不错的注册中心。作为团里里面第一个试水的小组,我们是遇到不少问题。 etcd中文文档 etcd中文文档 etcd官方英文文档
安装细节
没有使用官网的方式,而是使用读取配置文件的方式,这种方便管理,配置等。
- 创建目录,下载,解压
- 设置API版本号
vim /etc/profile
export ETCDCTL_API=3
source /etc/profile
- 创建数据,配置,日志文件目录
- 创建配置文件
- 单节点配置文件
- 集群配置文件
- 把配置写入到配置文件里面
- 把etcd 与etcd-cli变成命令
- 启动etcd
前端启动,注意启动后 ./etcd --config-file etcd.conf
后台启动并且开启远程访问 nohup ./etcd --config-file ./conf/etcd.conf > ./logs/etcd.log 2>&1 &
集群前端启动,注意启动后 ./etcd --config-file etcd.cluster.conf
集群后台启动并且开启远程访问 nohup ./etcd --config-file ./conf/etcd.cluster.conf > ./logs/etcd.log 2>&1 &
注意:启动后关闭不了,直接杀进程。开启远程访问需要带命令。
8,. 租约 9. 网络
问题
etcd API版本问题
etcd api 版本分为2.0与3.0 两个版本,默认使用2.0的版本API。作为一个新手很容易犯这种初级错误,建议大家默认使用api3.0版本。如何操作请看安装流程第二步
etcd 集群操作
etcd-cli 可以集群操作,可以同时对多个ectd节点进行操作。 在命令后面加入--endpoints参数。--endpoints=ip:port,ip:port
etcd-cli get /xxxx --endpoints=127.0.0.1:2379,127.0.0.1:2378
开启本地端口
如果不开启本地端口,在使用任何命令的时候都需要加上--endpoints=内网或者外网地址:port。在配置文件配置liste-client-urls。
listen-client-urls: http://内网或者外网地址:port,http://127.0.0.1:2379
etcd内存问题
etcd 对内存与磁盘都非常敏感,所以需要非常注意etcd内存使用情况
- 内存尽量最够大
- etcd 内存使用是使用内存的两倍。一份是内存,一份是cache。比如1G的数据会使用1G的内存,1G的cache
- etcd 数据删除,只会缓慢的删除数据,不会立马删除,尤其是cache
- etcd所在的操作系统的内存使用完,etcd直接不可用,不管在怎么压缩处理,一直不可用
etcd内存处理细节
- 内存报警,建议是使用内存达到50%就报警,防止异常情况造成内存暴增。
quota-backend-bytes: 15032385536
- etcd 快照配置 在配置文件里面加入这两个配置参数
# 配置snapshots保留份数
max-snapshots: 5
# 配置 wals 保留份数
max-wals: 5
- etcd 内存与磁盘命令整理
#使用API3
export ETCDCTL_API=3
# 查看告警信息,告警信息一般 memberID:8630161756594109333 alarm:NOSPACE
etcdctl --endpoints=http://127.0.0.1:2379 alarm list
# 获取当前版本
rev=$(etcdctl --endpoints=http://127.0.0.1:2379 endpoint status --write-out="json" | egrep -o '"revision":[0-9]*' | egrep -o '[0-9].*')
# 压缩掉所有旧版本
etcdctl --endpoints=http://127.0.0.1:2379 compact $rev
# 整理多余的空间
etcdctl --endpoints=http://127.0.0.1:2379 defrag
# 取消告警信息
etcdctl --endpoints=http://127.0.0.1:2379 alarm disarm
- etcd 内存与磁盘自动整理 在配置文件里面加入这两个配置参数
# 每小时整理一次
auto-compaction-retention: "1"
# 整理的类型
auto-compaction-mode: periodic
操作命令
使用etcdctl 可以执行shell命令,看下etcd 内存与磁盘命令整理的内存
来源:oschina
链接:https://my.oschina.net/u/1261452/blog/4299071