也许,时间见过我们
posts - 97,comments - 14,views - 24万

一、编写脚本

复制代码
 1 #!/bin/sh
 2 # 安装
 3 # ./run.sh etcd03 etcd01=http://192.168.2.44:2380,etcd02=http://192.168.2.45:2380,etcd03=http://192.168.2.46:2380
 4 
 5 etcd --version
 6 if [[ $? -eq 0 ]];
 7     then 
 8         echo 'etcd exists, exit!'
 9         exit
10     else 
11         yum -y  install etcd
12 fi
13 
14 
15 export HOST=$(ifconfig eth0 | grep 'inet'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $2}')
16 echo $HOST
17 
18 tee /etc/etcd/etcd.conf <<-'EOF'
19 ETCD_NAME="$1"
20 ETCD_DATA_DIR="/var/lib/etcd/$1"
21 ETCD_LISTEN_PEER_URLS="http://$HOST:2380"
22 ETCD_LISTEN_CLIENT_URLS="http://$HOST:2379,http://127.0.0.1:2379"
23 ETCD_INITIAL_ADVERTISE_PEER_URLS="http://$HOST:2380"
24 ETCD_ADVERTISE_CLIENT_URLS="http://$HOST:2379"
25 ETCD_INITIAL_CLUSTER_STATE="new"
26 ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster1"
27 ETCD_INITIAL_CLUSTER="$2"
28 EOF
29 
30 # etcd01=http://192.168.2.44:2380,etcd02=http://192.168.2.45:2380,etcd03=http://192.168.2.46:2380
31 # 替换掉$HOST及$1
32 sed -i "s%\$HOST%"$HOST"%g"  /etc/etcd/etcd.conf
33 sed -i "s%\$1%"$1"%g"  /etc/etcd/etcd.conf
34 sed -i "s%\$2%"$2"%g"  /etc/etcd/etcd.conf
35 
36 tee  /usr/lib/systemd/system/etcd.service <<-'EOF'
37 [Unit]
38 Description=Etcd Server
39 After=network.target
40 After=network-online.target
41 Wants=network-online.target
42 
43 [Service]
44 Type=notify
45 WorkingDirectory=/var/lib/etcd/
46 EnvironmentFile=/etc/etcd/etcd.conf
47 User=etcd
48 # set GOMAXPROCS to number of processors
49 ExecStart=/bin/bash -c "GOMAXPROCS=$(nproc) /usr/bin/etcd --name=\"${ETCD_NAME}\" --data-dir=\"${ETCD_DATA_DIR}\" --listen-client-urls=\"${ETCD_LISTEN_CLIENT_URLS}\" --listen-peer-urls=\"${ETCD_LISTEN_PEER_URLS}\" --advertise-client-urls=\"${ETCD_ADVERTISE_CLIENT_URLS}\" --initial-cluster-token=\"${ETCD_INITIAL_CLUSTER_TOKEN}\" --initial-cluster=\"${ETCD_INITIAL_CLUSTER}\" --initial-cluster-state=\"${ETCD_INITIAL_CLUSTER_STATE}\" "
50 Restart=on-failure
51 LimitNOFILE=65536
52 
53 [Install]
54 WantedBy=multi-user.target
55 EOF
56 
57 systemctl daemon-reload
58 systemctl start etcd
59 systemctl enable etcd
60 
61 
62 etcd --version
63 if [[ $? -eq 0 ]];
64     then 
65         echo 'etcd install success!'
66     else 
67         echo 'etcd install error!'
68 fi
复制代码

二、运行

./run.sh etcd03 etcd01=http://192.168.2.44:2380,etcd02=http://192.168.2.45:2380,etcd03=http://192.168.2.46:2380

posted on   画入新雪  阅读(214)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

Copyright ©2017 画入新雪
点击右上角即可分享
微信分享提示