ETCD集群部署

ETCD集群部署

etcd、etcd-browser、etcdkeeper(支持 etcd v3 api) 简单安装配置

简介:

etcd是一个类似于zk的工具,用于保存值,节点-值这种映射关系的。节点组织结构类似unix文件系统结构,从/最开始。

环境说明:

三台机器的/etc/hosts文件全部相同,安装etcd前需要关闭防火墙和SELinux。

角色

Hostname

Ip

系统

Etcd版本

Etcd

H1

192.168.10.1

Cents7

Etcd3.3

Etcd

H2

192.168.10.2

Cents7Etcd3.3

Etcd

H3

192.168.10.3

Cents7Etcd3.3

 

 

 

Etcd安装:

[root@h1 /]# yum -y install etcd    #我这里用的是yum安装,也可以编辑部署;

配置:

在三台机器上新建数据目录/data/etcd

[root@h1 /]# mkdir /data/etcd

   H1配置:

[root@h1/]# grep -v ^# /etc/etcd/etcd.conf
ETCD_DATA_DIR=/data/etcd/h1.etcd
ETCD_LISTEN_PEER_URLS=http://192.168.10.1:2380
ETCD_LISTEN_CLIENT_URLS=http://192.168.10.1:2379,http://127.0.0.1:2379
ETCD_NAME=h1
ETCD_INITIAL_ADVERTISE_PEER_URLS=http://192.168.10.1:2380
ETCD_ADVERTISE_CLIENT_URLS=http://192.168.10.1:2379
ETCD_INITIAL_CLUSTER=h1=http://192.168.10.1:2380,h2=http://192.168.10.2:2380,h3=http://192.168.10.3:2380
ETCD_INITIAL_CLUSTER_TOKEN=etcd-cluster
ETCD_INITIAL_CLUSTER_STATE=new
RestartSec=5
ETCD_PROXY=off

H2配置:

[root@h2 /]# grep -v ^# /etc/etcd/etcd.conf
ETCD_DATA_DIR=/data/etcd/h2.etcd
ETCD_LISTEN_PEER_URLS=http://192.168.10.2:2380
ETCD_LISTEN_CLIENT_URLS=http://192.168.10.2:2379,http://127.0.0.1:2379
ETCD_NAME=h2
ETCD_INITIAL_ADVERTISE_PEER_URLS=http://192.168.10.2:2380
ETCD_ADVERTISE_CLIENT_URLS=http://192.168.10.2:2379
ETCD_INITIAL_CLUSTER=h1=http://192.168.10.1:2380,h2=http://192.168.10.2:2380,h3=http://192.168.10.3:2380
ETCD_INITIAL_CLUSTER_TOKEN=etcd-cluster
ETCD_INITIAL_CLUSTER_STATE=new
RestartSec=5
ETCD_PROXY=off

 H3配置:

[root@h3 /]# grep -v ^# /etc/etcd/etcd.conf
ETCD_DATA_DIR=/data/etcd/h3.etcd
ETCD_LISTEN_PEER_URLS=http://192.168.10.3:2380
ETCD_LISTEN_CLIENT_URLS=http://192.168.10.3:2379,http://127.0.0.1:2379
ETCD_NAME=h3
ETCD_INITIAL_ADVERTISE_PEER_URLS=http://192.168.10.3:2380
ETCD_ADVERTISE_CLIENT_URLS=http://192.168.10.3:2379
ETCD_INITIAL_CLUSTER=h1=http://192.168.10.1:2380,h2=http://192.168.10.2:2380,h3=http://192.168.10.3:2380
ETCD_INITIAL_CLUSTER_TOKEN=etcd-cluster
ETCD_INITIAL_CLUSTER_STATE=new
ETCD_PROXY=off

Etcd.service文件配置(三个节点都需要修改):

[root@h3 /]# vim  /lib/systemd/system/etcd.service
[Unit]
Description=Etcd Server
After=network.target
After=network-online.target
Wants=network-online.target
Documentation=https://github.com/coreos
[Service]
user=etcd
Type=notify
WorkingDirectory=${ETCD_DATA_DIR} 
EnvironmentFile=-/etc/etcd/etcd.conf
ExecStart=/usr/bin/etcd \
--name=${ETCD_NAME} \
--initial-advertise-peer-urls=${ETCD_INITIAL_ADVERTISE_PEER_URLS}
\
--listen-peer-urls=${ETCD_LISTEN_PEER_URLS}
\
--listen-client-urls=${ETCD_LISTEN_CLIENT_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}
\
--data-dir=${ETCD_DATA_DIR}
RestartSec=5
Restart=on-failure
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target

[root@h3 /]# systemctl daemon-reload #重载配置文件

[root@h1 opt]# etcdctl cluster-health #查看集群健康状况
member 44f06326325900ef is healthy: got healthy result from http://192.168.10.1:2379
member c21e258ec1c8e974 is healthy: got healthy result from http://192.168.10.2:2379
member daf7a0ec8b42b526 is healthy: got healthy result from http://192.168.10.3:2379


[root@h1 /]# etcdctl member list   #查看节点信息
44f06326325900ef: name=node1 peerURLs=http://192.168.6.70:2380 clientURLs=http://192.168.6.70:2379 isLeader=false
c21e258ec1c8e974: name=node3 peerURLs=http://192.168.6.72:2380 clientURLs=http://192.168.6.72:2379 isLeader=false
daf7a0ec8b42b526: name=node2 peerURLs=http://192.168.6.71:2380 clientURLs=http://192.168.6.71:2379 isLeader=true

常见错误:

上述问题, 是 ETCD_LISTEN_CLIENT_URLS=”http://127.0.0.1:2379” 没有提供127 本地地址导致,那么通过指定 endpoint 方法解决

[root@h1/]#etcdctl --endpoints http://xx.xxx.205.229:2379,http://xx.xxx.205.229:4001 member list

集群重置

1 利用 systemctl stop etcd 关闭集群, 在重新启动集群, 之前 etcd 保存的资料不会丢失

2 要对 etcd 集群进行重置, 最简单的方式是关闭集群后,

3 删除了所有 etcd member 中 ETCD_DATA_DIR 配置中定义的目录下的所有子目录

4 启动所有 member 即可

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是在 CentOS 中部署 etcd 集群的步骤: 1. 下载 etcd 安装包 可以从 etcd 官网下载最新版的 etcd 安装包,下载地址为:https://github.com/etcd-io/etcd/releases 2. 解压安装包 将下载的 etcd 安装包解压到指定目录,比如 /usr/local/etcd ``` tar -zxvf etcd-v3.4.13-linux-amd64.tar.gz -C /usr/local/etcd --strip-components=1 ``` 3. 创建 etcd 配置文件 在每个节点上创建 etcd 配置文件,比如 /etc/etcd.conf,配置内容如下: ``` name=node1 # 节点名称,每个节点名称不同 data-dir=/var/lib/etcd # 数据存储目录 initial-cluster=node1=http://192.168.1.1:2380,node2=http://192.168.1.2:2380,node3=http://192.168.1.3:2380 # 集群中所有节点的地址和端口号 initial-advertise-peer-urls=http://192.168.1.1:2380 # 当前节点的地址和端口号 listen-peer-urls=http://192.168.1.1:2380 # 监听地址和端口号 listen-client-urls=http://192.168.1.1:2379,http://127.0.0.1:2379 # 监听客户端连接的地址和端口号,可以指定多个 advertise-client-urls=http://192.168.1.1:2379 # 当前节点对外提供服务的地址和端口号 initial-cluster-state=new # 集群状态,new 表示新建集群 ``` 其中,initial-cluster 中的节点名称和地址需要根据实际情况修改。 4. 启动 etcd 集群 在每个节点上启动 etcd 服务: ``` /usr/local/etcd/etcd --config-file /etc/etcd.conf ``` 5. 验证 etcd 集群 使用 etcdctl 工具验证 etcd 集群是否正常运行: ``` export ETCDCTL_API=3 etcdctl --endpoints=http://192.168.1.1:2379,http://192.168.1.2:2379,http://192.168.1.3:2379 member list ``` 如果返回了所有节点的信息,则说明 etcd 集群已经成功启动。 以上是在 CentOS 中部署 etcd 集群的步骤,希望能对你有所帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值