etcd安装以及我遇到的问题
使用三个节点
172.16.148.1
172.16.148.2
172.16.148.3
1、云安装
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 //是否删除
节点内容修改也可以修改路径然后在修改回去,数据就可以更新
(随便尝试的,暂时不知道会不会有啥后续影响,之后在来更)