多实例进行配置,分别在多个不同端口进行监听,避免开启单机部署监听端口冲突;
查看go版本:
bash
go version
若没有go环境,则进行下载,解压至/usr/local后进行环境配置,编辑vim ~./bashrc
bash
vim ~./bashrc
bash
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
最后确保环境成功
bash
source ~/.bashrc
随后安装goreman
Go
go install github.com/mattn/goreman@latest
goreman help
配置文件
Go
etcd1: etcd --name infra1 --listen-client-urls http://127.0.0.1:12379 --advertise-client-urls http://127.0.0.1:12379 --listen-peer-urls http://127.0.0.1:12380 --initial-advertise-peer-urls http://127.0.0.1:12380 --initial-cluster-token etcd-cluster-1 --initial-cluster 'infra1=http://127.0.0.1:12380,infra2=http://127.0.0.1:22380,infra3=http://127.0.0.1:32380' --initial-cluster-state new --enable-pprof --logger=zap --log-outputs=stderr
etcd2: etcd --name infra2 --listen-client-urls http://127.0.0.1:22379 --advertise-client-urls http://127.0.0.1:22379 --listen-peer-urls http://127.0.0.1:22380 --initial-advertise-peer-urls http://127.0.0.1:22380 --initial-cluster-token etcd-cluster-1 --initial-cluster 'infra1=http://127.0.0.1:12380,infra2=http://127.0.0.1:22380,infra3=http://127.0.0.1:32380' --initial-cluster-state new --enable-pprof --logger=zap --log-outputs=stderr
etcd3: etcd --name infra3 --listen-client-urls http://127.0.0.1:32379 --advertise-client-urls http://127.0.0.1:32379 --listen-peer-urls http://127.0.0.1:32380 --initial-advertise-peer-urls http://127.0.0.1:32380 --initial-cluster-token etcd-cluster-1 --initial-cluster 'infra1=http://127.0.0.1:12380,infra2=http://127.0.0.1:22380,infra3=http://127.0.0.1:32380' --initial-cluster-state new --enable-pprof --logger=zap --log-outputs=stderr
执行相关start
Go
goreman -f local_cluster_procfile start
启动完成之后查看集群内的成员
Go
etcdctl --endpoints=http://localhost:22379 member list
关闭某个节点
Go
goreman run stop etcd2
重启某个节点
Go
goreman run restart etcd2
多节点情况下,指定添加某一节点的数据
当中止一个节点时,其他节点正常运行,可以访问,中止节点无法继续访问