安装配置
## hostname修改
vim /etc/hostname
vim /etc/hosts
## 解压安装
tar -zxvf etcd-v3.3.18-linux-amd64.tar.gz -C /usr/local/
## 改名:
mv /usr/local/etcd-v3.3.18-linux-amd64/ /usr/local/etcd
## 添加环境变量
vim /etc/profile
## 内容
export ETCDCTL_API=3
## 执行刷新
source /etc/profile
## 制作服务
[Unit]
Description=Etcd Server
After=network.target
After=network-online.target
Wants=network-online.target
[Service]
Type=notify
WorkingDirectory=/var/lib/etcd/
EnvironmentFile=/etc/etcd/etcd.conf
# set GOMAXPROCS to number of processors
ExecStart=/bin/bash -c "GOMAXPROCS=$(nproc) /usr/local/etcd/etcd --name=\"${ETCD_NAME}\" --data-dir=\"${ETCD_DATA_DIR}\" --listen-client-urls=\"${ETCD_LISTEN_CLIENT_URLS}\" --advertise-client-urls=\"${ETCD_ADVERTISE_CLIENT_URLS}\" --auto-compaction-retention=\"${ETCD_AUTO_COMPACTION_RETENTION}\" --auto-compaction-mode=\"${ETCD_AUTO_COMPACTION_MODE}\" --snapshot-count=\"${ETCD_SNAPSHOT_COUNT}\" --quota-backend-bytes=\"${ETCD_QUOTA_BACKEND_BYTES}\""
Restart=on-failure
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target
## 创建文件夹
mkdir /var/lib/etcd/
## 查看文件:
cat /usr/lib/systemd/system/etcd.service
## 创建资源
mkdir /etc/etcd
touch /etc/etcd/etcd.conf
vim /etc/etcd/etcd.conf
## etcd实例的名称, 默认是default, 在集群中需要唯一,通常使用hostname
ETCD_NAME=zgz53
## 数据的保存路径, 默认是${name}.etcd
ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
## 对外提供服务的地址,阿里云为私网ip
ETCD_LISTEN_CLIENT_URLS="http://xxx:2379,http://127.0.0.1:2379"
## 对外公告的该节点客户端监听地址
ETCD_ADVERTISE_CLIENT_URLS="http://xxx:2379"
## 保持一个小时的历史
ETCD_AUTO_COMPACTION_RETENTION="1"
## 使用版本号进行压缩
ETCD_AUTO_COMPACTION_MODE="revision"
## 快照触发次数阈值
ETCD_SNAPSHOT_COUNT=10000
## 设置2G配额, 超过配额告警
ETCD_QUOTA_BACKEND_BYTES=2147483648
### 重载服务配置,使 `/etc/etcd/etcd.conf` 配置文件生效
systemctl daemon-reload
## 注意:设置开启启动会创建一个软连接:
ln -s '/usr/lib/systemd/system/etcd.service' '/etc/systemd/system/multi-user.target.wants/etcd.service'
systemctl enable etcd
systemctl start etcd
## 查看状态
systemctl status etcd
安装etcd可视化工具
## 解压
unzip etcdkeeper-v0.7.5-linux_x86_64.zip -d /usr/local/
# 制作服务
touch /lib/systemd/system/etcdkeeper.service
cat /lib/systemd/system/etcdkeeper.service
[Unit]
Description=etcdkeeper service
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/etcdkeeper/etcdkeeper -p=8088
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
PrivateTmp=true
[Install]
WantedBy=multi-user.target
# 三件套
systemctl daemon-reload
systemctl enable etcdkeeper.service
systemctl start etcdkeeper
验证
## 查看集群成员:
/usr/local/etcd/etcdctl member list
## 查看集群基本信息:
/usr/local/etcd/etcdctl --write-out=json --endpoints=192.168.11.114:2379,192.168.11.115:2379,192.168.11.116:2379 endpoint status
/usr/local/etcd/etcdctl --write-out=table --endpoints=192.168.11.114:2379,192.168.11.115:2379,192.168.11.116:2379 endpoint status
坑
systemd启动etcd服务的时候出现错误:Failed at step CHDIR spawning /usr/bin/etcd: No such file or directory
解决办法:etcd.service服务配置文件中设置的工作目录WorkingDirectory=/var/lib/etcd/必须存在,否则会报以上错误
systemd启动etcd服务的时候出现错误:`cannot assign requested address
解决办法:绑定阿里云的私网IP