etcd安装以及我遇到的问题
使用三个节点
172.16.148.1
172.16.148.2
172.16.148.3
yum -y install etcd
2、进行相关配置vim /etc/etcd/etcd.conf
第一个节点(修改地方已加粗)
#[Member]
#ETCD_CORS=“”
#数据保存路径
ETCD_DATA_DIR=“/var/lib/etcd”
#ETCD_WAL_DIR=“”
#供外部客户端使用的url
ETCD_LISTEN_CLIENT_URLS=“http://172.16.148.1:2379,http://127.0.0.1:2379”
#广播给外部客户端使用的url
ETCD_ADVERTISE_CLIENT_URLS=“http://172.16.148.1:2379”
#ETCD_MAX_SNAPSHOTS=“5”
#ETCD_MAX_WALS=“5”
#etcd实例名称
ETCD_NAME=etcd1
#ETCD_SNAPSHOT_COUNT=“100000”
#ETCD_HEARTBEAT_INTERVAL=“100”
#ETCD_ELECTION_TIMEOUT=“1000”
#ETCD_QUOTA_BACKEND_BYTES=“0”
#ETCD_MAX_REQUEST_BYTES=“1572864”
#ETCD_GRPC_KEEPALIVE_MIN_TIME=“5s”
#ETCD_GRPC_KEEPALIVE_INTERVAL=“2h0m0s”
#ETCD_GRPC_KEEPALIVE_TIMEOUT=“20s”
#[Clustering]
#集群内部通信使用的URL
ETCD_LISTEN_PEER_URLS=“http://172.16.148.1:2380”
ETCD_INITIAL_ADVERTISE_PEER_URLS=“http://172.16.148.1:2380”
#ETCD_ADVERTISE_CLIENT_URLS=“http://172.16.148.1:2380”
#ETCD_DISCOVERY=“”
#ETCD_DISCOVERY_FALLBACK=“proxy”
#ETCD_DISCOVERY_PROXY=“”
#广播给集群内其他成员访问的URL
ETCD_INITIAL_CLUSTER=“etcd1=http://172.16.148.1:2380,etcd2=http://172.16.148.2:2380,etcd3=http://172.16.148.3:2380”
#集群的名称
ETCD_INITIAL_CLUSTER_TOKEN=“etcd-cluster”
#第一个节点为New,其他两个节点为existing(以便于加入)
ETCD_INITIAL_CLUSTER_STATE=“new”
#ETCD_STRICT_RECONFIG_CHECK=“true”
#ETCD_ENABLE_V2=“true”
第二个节点(注意点和第一个节点加粗的一样,加了代码块就无法加粗了哈,自己比对)
#[Member] #ETCD_CORS="" ETCD_DATA_DIR="/var/lib/etcd" #ETCD_WAL_DIR="" #ETCD_LISTEN_PEER_URLS="http://172.16.148.2:2379,http://127.0.0.1:2379" ETCD_LISTEN_CLIENT_URLS="http://172.16.148.2:2379,http://127.0.0.1:2379" ETCD_ADVERTISE_CLIENT_URLS="http://172.16.148.2:2379" #ETCD_MAX_SNAPSHOTS="5" #ETCD_MAX_WALS="5" ETCD_NAME=etcd2 #ETCD_SNAPSHOT_COUNT="100000" #ETCD_HEARTBEAT_INTERVAL="100" #ETCD_ELECTION_TIMEOUT="1000" #ETCD_QUOTA_BACKEND_BYTES="0" #ETCD_MAX_REQUEST_BYTES="1572864" #ETCD_GRPC_KEEPALIVE_MIN_TIME="5s" #ETCD_GRPC_KEEPALIVE_INTERVAL="2h0m0s" #ETCD_GRPC_KEEPALIVE_TIMEOUT="20s" # #[Clustering] ETCD_LISTEN_PEER_URLS="http://172.16.148.2:2380" ETCD_INITIAL_ADVERTISE_PEER_URLS="http://172.16.148.2:2380" #ETCD_ADVERTISE_CLIENT_URLS="http://172.16.148.2:2380" #ETCD_DISCOVERY="" #ETCD_DISCOVERY_FALLBACK="proxy" #ETCD_DISCOVERY_PROXY="" #ETCD_DISCOVERY_SRV="" ETCD_INITIAL_CLUSTER="etcd1=http://172.16.148.1:2380,etcd2=http://172.16.148.2:2380,etcd3=http://172.16.148.3:2380" ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster" ETCD_INITIAL_CLUSTER_STATE="existing" #ETCD_STRICT_RECONFIG_CHECK="true" #ETCD_ENABLE_V2="true"
第三个节点
#[Member] #ETCD_CORS="" ETCD_DATA_DIR="/var/lib/etcd" #ETCD_WAL_DIR="" #ETCD_LISTEN_PEER_URLS="http://172.16.148.3:2380" ETCD_LISTEN_CLIENT_URLS="http://172.16.148.3:2379,http://127.0.0.1:2379" ETCD_ADVERTISE_CLIENT_URLS="http://172.16.148.3:2379" #ETCD_MAX_SNAPSHOTS="5" #ETCD_MAX_WALS="5" ETCD_NAME=etcd3 #ETCD_SNAPSHOT_COUNT="100000" #ETCD_HEARTBEAT_INTERVAL="100" #ETCD_ELECTION_TIMEOUT="1000" #ETCD_QUOTA_BACKEND_BYTES="0" #ETCD_MAX_REQUEST_BYTES="1572864" #ETCD_GRPC_KEEPALIVE_MIN_TIME="5s" #ETCD_GRPC_KEEPALIVE_INTERVAL="2h0m0s" #ETCD_GRPC_KEEPALIVE_TIMEOUT="20s" # #[Clustering] ETCD_LISTEN_PEER_URLS="http://172.16.148.3:2380" ETCD_INITIAL_ADVERTISE_PEER_URLS="http://172.16.148.3:2380" #ETCD_ADVERTISE_CLIENT_URLS="http://172.16.148.3:2379" #ETCD_DISCOVERY="" #ETCD_DISCOVERY_FALLBACK="proxy" #ETCD_DISCOVERY_PROXY="" #ETCD_DISCOVERY_SRV="" ETCD_INITIAL_CLUSTER="etcd1=http://172.16.148.1:2380,etcd2=http://172.16.148.2:2380,etcd3=http://172.16.148.3:2380" ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster" ETCD_INITIAL_CLUSTER_STATE="existing" #ETCD_STRICT_RECONFIG_CHECK="true" #ETCD_ENABLE_V2="true"3、启动并检查
systemctl daemon-reload //重新加载服务配置文件 systemctl start etcd etcdctl member list //检查集群情况(结果会显示集群中的三个节点) etcdctl cluster-health问题1
某一个节点启动报错
Job for etcd.service failed because the control process exited with error code. See “systemctl status etcd.service” and "journalctl -xe" for details.
输入journalctl -xe查看报错信息
start request repeated too quickly for etcd.service
解决办法:
修改配置文件
vi /usr/lib/systemd/system/etcd.service
在**[service]**部分添加:RestartSec=5 (参数作用:如果服务需要被重启,这个参数的值为服务被重启前的等待秒数)
问题2某一个节点启动报错
Job for etcd.service failed because the control process exited with error code. See “systemctl status etcd.service” and “journalctl -xe” for details.
输入journalctl -xe查看报错信息
error validating peerURLs {ClusterID:cdf818194e3a8c32 Members:[&{ID:8e9e05c52164694d RaftAttributes:{Pee
而且集群中节点只有一个
解决办法:
1、进入配置文件
vi /etc/etcd/etcd.conf
2、修改
开始为:
#[Member] #ETCD_CORS="" **ETCD_DATA_DIR="/var/lib/etcd/default.etcd"**
修改后
ETCD_DATA_DIR="/var/lib/etcd
集群中能够查三个节点了
不过可以切换到之前那个路劲把数据给删除
cd /var/lib/etcd ll //查看里面有什么 rm -rf default.etcd ll //是否删除
节点内容修改也可以修改路径然后在修改回去,数据就可以更新
(随便尝试的,暂时不知道会不会有啥后续影响,之后在来更)
参考:https://blog.csdn.net/wangxi83/article/details/120306999?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165389057016782246445332%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=165389057016782246445332&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_ecpm_v1~rank_v31_ecpm-2-120306999-null-null.142v11pc_search_result_control_group,157v12control&utm_term=k3s%2Brancher%E9%83%A8%E7%BD%B2&spm=1018.2226.3001.4187



