nohup sh etcd-dynamic.sh &
6. 常用参数说明
--name
:方便理解的节点名称,默认为default,在集群中应该保持唯一,可以使用hostname。
--data-dir
:数据保存的目录,默认为${name}.etcd。
--snapshot-count
:最大快照次数,指定有多少事务(transaction)被提交时,触发截取快照保存到磁盘,默认值100000。
--max-snapshots
: 最大保留快照数,默认 5 个。
--heartbeat-interval
:心跳周期,leader 多久发送一次心跳到 followers。默认值是100ms。
--eletion-timeout
:重新投票的超时时间,如果follow在该时间间隔没有收到心跳包,会触发重新投票,默认为1000ms。
--listen-peer-urls
:和同伴通信的地址,比如http://ip:2380,如果有多个,使用逗号分隔。需要所有节点都能够访问,所以不要使用localhost!
--initial-advertise-peer-urls
:该节点同伴监听地址,这个值会告诉集群中其他节点。
--listen-client-urls
:对外提供服务的地址:比如 http://ip:2379,http://127.0.0.1:2379,客户端会连接到这里和etcd交互。
--advertise-client-urls
:对外公告的该节点客户端监听地址,这个值会告诉集群中其他节点。
--initial-cluster
:集群中所有节点的信息,格式为 node1=http://ip1:2380,node2=http://ip2:2380,…。注意:这里的node1是节点的 --name 指定的名字;后面的 ip1:2380 是 --initial-advertise-peer-urls 指定的值。
--initial-cluster-state
:新建集群的时候,这个值为 new;假如已经存在的集群,这个值为 existing。
--initial-cluster-token
:创建集群的 token,这个值每个集群保持唯一。这样的话,如果你要重新创建集群,即使配置和之前一样,也会再次生成新的集群和节点 uuid;否则会导致多个集群之间的冲突,造成未知的错误。
--log-level
: 日志等级。info, warn, error, panic, or fatal。
所有以 --init 开头的配置都是在 bootstrap 集群的时候才会用到,后续节点的重启会被忽略。
7. 集群模式下客户端命令行
执行客户端命令前需要指定使用哪个版本的api
export ETCDCTL_API=3
获取集群节点
./etcdctl --endpoints=192.168.199.140:2379,192.168.199.141:2379,192.168.199.142:2379 member list
加上参数:--write-out=table,可以以表的形式输出
查看节点状态
./etcdctl --endpoints=192.168.199.140:2379,192.168.199.141:2379,192.168.199.142:2379 endpoint status --write-out=table
向集群中设置值
./etcdctl --endpoints=192.168.199.140:2379,192.168.199.141:2379,192.168.199.142:2379 put key "value"
获取集群中的值
./etcdctl --endpoints=192.168.199.140:2379,192.168.199.141:2379,192.168.199.142:2379 get key
可以跟参数:--prefix,获取所有有相同前缀的数据
删除集群中数据
./etcdctl --endpoints=192.168.199.140:2379,192.168.199.141:2379,192.168.199.142:2379 del key
可以跟参数:--prefix,删除所有有相同前缀的数据
8. etcd-manager安装
官网下载安装包安装
https://etcdmanager.io/