# 官网网址 GitHubhttps://github.com/etcd-io/etcd# 最新发行版本https://github.com/etcd-io/etcd/releases
ETCD 安装前置准备
# 检讨系统是否安装有 ETCDrpm -qa | grep etcd# 卸载 现存 ETCD yum -y remove etcd
安装 ETCD 基本组件
# 安装 ETCD 基本组件sudo yum install -y etcd
# 方法1 : 编辑 ETCD 配置文件sudo nano /etc/etcd/etcd.conf# 修正如下内容# {# 第3行,取消注释ETCD_DATA_DIR="/var/lib/etcd/default.etcd"# 第5、6行,取消注释,并将 localhost 修正为 本机IP地址ETCD_LISTEN_PEER_URLS="http://localhost:2380"ETCD_LISTEN_CLIENT_URLS="http://localhost:2379"# 第9行,修正 ETCD 名称ETCD_NAME="controller"# 第20、21行,取消注释,并将 localhost 修正为 0.0.0.0ETCD_INITIAL_ADVERTISE_PEER_URLS="http:/0.0.0.0:2380"ETCD_ADVERTISE_CLIENT_URLS="http://0.0.0.0:2379"# 第26行,取消注释,将 default 修正为 上面的 ETCD NAME 并将 localhost 修正为 本机IP地址ETCD_INITIAL_CLUSTER="default=http://0.0.0.0:2380"# 第27行,取消注释,修正 TOKENETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster-01"# 第28行,取消注释ETCD_INITIAL_CLUSTER_STATE="new"# }# 方法2 : 命令行直接更换,修正 ETCD 配置文件sed -i "s/#ETCD_LISTEN_PEER_URLS/ETCD_LISTEN_PEER_URLS/g" /etc/etcd/etcd.confsed -i "s/localhost:2380/0.0.0.0:2380/g" /etc/etcd/etcd.confsed -i "s/localhost:2379/0.0.0.0:2379/g" /etc/etcd/etcd.confsed -i '9d' /etc/etcd/etcd.confsed -i '8 a\ETCD_NAME="controller"' /etc/etcd/etcd.confsed -i "s/#ETCD_INITIAL_ADVERTISE_PEER_URLS/ETCD_INITIAL_ADVERTISE_PEER_URLS/g" /etc/etcd/etcd.confsed -i "s/#ETCD_INITIAL_CLUSTER/ETCD_INITIAL_CLUSTER/g" /etc/etcd/etcd.confsed -i "s/default=http/controller=http/g" /etc/etcd/etcd.confsed -i "s/etcd-cluster/etcd-cluster-01/g" /etc/etcd/etcd.confsed -i "s/#ETCD_INITIAL_CLUSTER_STATE/ETCD_INITIAL_CLUSTER_STATE/g" /etc/etcd/etcd.conf# 查看 ETCD 配置文件 修正内容sudo cat /etc/etcd/etcd.conf | head -n 30

# 刷新 防火墙策略sudo firewall-cmd --reload# 防火墙放行 ETCD 做事sudo firewall-cmd --permanent --zone=public --add-port=2380/tcpsudo firewall-cmd --permanent --zone=public --add-port=2379/tcp# 生效 防火墙策略firewall-cmd --reload
启动 ETCD 做事
# 启动 ETCD 做事sudo systemctl start etcd.service# 设置 ETCD 做事 为开机自启动sudo systemctl enable etcd.service# 检讨运行状态sudo systemctl status etcd.service# 查看 ETCD 进程运行信息ps -ef | grep etcd# 查看 ETCD 端口占用情形netstat -nltp | grep etcd# 备用命令# 停滞 ETCD 做事sudo systemctl stop etcd.service# 重启 ETCD 做事sudo systemctl restart etcd.service
# 为 测试ETCD 键 赋值 SRoveretcdctl put 测试ETCD "ETCD 通过测试,已经完成安装"# 获取 测试ETCD 的 值etcdctl get 测试ETCD
# 查看 ETCD 版本sudo etcdctl version# 方法1 : 编辑文件 修正环境变量sudo nano /etc/profile# 文件末端增加如下内容# {export ETCDCTL_API=3# }# 方法2 : 命令行直接更换,修正 PHP.inisudo cat <<EOF >> /etc/profileexport ETCDCTL_API=3EOF# 查看 /etc/profile 修正结果cat /etc/profile | tail -n 2# 生效环境变量source /etc/profile
## author: SRover Lee# date: 2023/10/16# Language: Shell Script# description: # 基于CentOS 7.9 定制大略单纯化 ETCD 安装脚本# 1. 卸载所有 ETCD 安装版本残留# 2. 安装 ETCD 必要组件# 3. 修正 ETCD 配置文件# 4. 防火墙 放行 ETCD 做事# 5. 启动 ETCD 做事# 6. 设置 ETCD 为开机自启动# 7. 检讨 ETCD 做事运行状态# 8. 修正环境变量# 9. 测试 ETCD 做事# # echo ------------------- 卸载所有 ETCD 安装版本残留 -------------------------# 检讨系统是否安装有 ETCDrpm -qa | grep etcd# 卸载 现存 ETCD yum -y remove etcdecho ------------------- 安装 ETCD 必要组件 -----------------------------# 安装 ETCD 基本组件sudo yum install -y etcdecho ------------------- 修正 ETCD 配置文件 -------------------------------# 修正 ETCD 配置文件sed -i "s/#ETCD_LISTEN_PEER_URLS/ETCD_LISTEN_PEER_URLS/g" /etc/etcd/etcd.confsed -i "s/localhost:2380/0.0.0.0:2380/g" /etc/etcd/etcd.confsed -i "s/localhost:2379/0.0.0.0:2379/g" /etc/etcd/etcd.confsed -i '9d' /etc/etcd/etcd.confsed -i '8 a\ETCD_NAME="controller"' /etc/etcd/etcd.confsed -i "s/#ETCD_INITIAL_ADVERTISE_PEER_URLS/ETCD_INITIAL_ADVERTISE_PEER_URLS/g" /etc/etcd/etcd.confsed -i "s/#ETCD_INITIAL_CLUSTER/ETCD_INITIAL_CLUSTER/g" /etc/etcd/etcd.confsed -i "s/default=http/controller=http/g" /etc/etcd/etcd.confsed -i "s/etcd-cluster/etcd-cluster-01/g" /etc/etcd/etcd.confsed -i "s/#ETCD_INITIAL_CLUSTER_STATE/ETCD_INITIAL_CLUSTER_STATE/g" /etc/etcd/etcd.conf# 查看 ETCD 配置文件sudo cat /etc/etcd/etcd.conf | head -n 30echo ------------------- 防火墙 放行 ETCD 做事 ---------------------------# 刷新 防火墙策略sudo firewall-cmd --reload# 防火墙放行 ETCD 做事sudo firewall-cmd --permanent --zone=public --add-port=2380/tcpsudo firewall-cmd --permanent --zone=public --add-port=2379/tcp# 生效 防火墙策略firewall-cmd --reloadecho ------------------- 启动 ETCD 做事 ---------------------------------# 启动 RabbitMQ 做事sudo systemctl start etcd.serviceecho ------------------- 设置 ETCD 做事 为开机自启动 -------------------------# 设置 RabbitMQ 做事 为开机自启动sudo systemctl enable etcd.serviceecho ------------------- 检讨 ETCD 做事运行状态 -------------------------# 检讨运行状态sudo systemctl status etcd.service# 查看 ETCD 进程运行信息ps -ef | grep etcd# 查看 ETCD 端口占用情形netstat -nltp | grep etcdecho ------------------- 修正 环境变量 ------------------------------------# 命令行直接更换,修正 PHP.inisudo cat <<EOF >> /etc/profileexport ETCDCTL_API=3EOF# 查看 /etc/profile 修正结果cat /etc/profile | tail -n 2# 生效环境变量source /etc/profilesource /etc/profileecho ------------------- 测试 ETCD 做事 ---------------------------------# 为 测试ETCD 键 赋值 SRoveretcdctl put 测试ETCD "ETCD 通过测试,已经完成安装"# 获取 测试ETCD 的 值etcdctl get 测试ETCDecho ----------------------------------------------------------------# 显示提示信息echo echo echo # 检讨运行状态sudo systemctl status etcd.serviceecho 已经完成 ETCD 根本安装echo 当前 ETCD 环境 版本如下:sudo etcdctl -v