前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >搭建etcd集群,python调etcd

搭建etcd集群,python调etcd

作者头像
py3study
发布2020-01-08 14:36:13
2.9K0
发布2020-01-08 14:36:13
举报
文章被收录于专栏:python3python3

安装etcd集群:

node1:192.168.133.140 

node2:192.168.133.141 

node3:192.168.133.142

1,安装ntp服务:

yum install ntp

启动ntp服务

代码语言:javascript
复制
systenctl start ntp

安装etcd

代码语言:javascript
复制
yum install -y etcd-3.2.5-1.el7.x86_64

配置etcd

编辑配置文件

代码语言:javascript
复制
vim /etc/etcd/etcd.conf

修改内容如下:

代码语言:javascript
复制
# [member]
ETCD_NAME=master1      #本机的主机名
ETCD_DATA_DIR="/var/lib/etcd/default.etcd"    #etcd的数据存储路径
#ETCD_WAL_DIR=""
#ETCD_SNAPSHOT_COUNT="10000"
#ETCD_HEARTBEAT_INTERVAL="100"
#ETCD_ELECTION_TIMEOUT="1000"
ETCD_LISTEN_PEER_URLS="http://0.0.0.0:2380"    #监听其他etcd实例的地址
ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379,http://0.0.0.0:4001"  #监听etcd客户端的地址
#ETCD_MAX_SNAPSHOTS="5"
#ETCD_MAX_WALS="5"
#ETCD_CORS=""
#
#[cluster]
ETCD_INITIAL_ADVERTISE_PEER_URLS="http://192.168.133.140:2380"   #通知其他etcd实例地址
# if you use different ETCD_NAME (e.g. test), set ETCD_INITIAL_CLUSTER value for this name, i.e. "test=http://..."
ETCD_INITIAL_CLUSTER="master1=http://192.168.133.140:2380,master2=http://192.168.133.141:2380,master3=http://192.168.133.142:2380"   #初始化集群内节点地址
ETCD_INITIAL_CLUSTER_STATE="new"      # 初始化集群状态,new表示新建
ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster"       # 初始化集群token
ETCD_ADVERTISE_CLIENT_URLS="http://192.168.133.140:2379,http://192.168.133.140:4001"   # 定义client 广播端口,此处必须填写相应主机的 IP,不能填写 0.0.0.0,否则 etcd client 获取不了 etcd cluster 中的主机 
#ETCD_DISCOVERY=""
#ETCD_DISCOVERY_SRV=""
#ETCD_DISCOVERY_FALLBACK="proxy"
#ETCD_DISCOVERY_PROXY=""
#ETCD_STRICT_RECONFIG_CHECK="false"
ETCD_AUTO_COMPACTION_RETENTION="1"   #内部调优
#ETCD_ENABLE_V2="true"

Postil:其余两个主机只需要修改红色部分,其他地方保持和我一样就可以了。

启动etcd集群 并设置开机启动

代码语言:javascript
复制
systemctl start etcd && systemctl enable etcd

python调etcd的接口

安装etcd3的模块

代码语言:javascript
复制
pip install etcd3
代码语言:javascript
复制
import etcd3
#往etcd中存数据
client = etcd3.client(host='192.168.133.140')   #连接etcd
r  = client.put('aaa', 'qweqwe')              #往etcd中存键值
b = client.get('aaa')                        #查看etcd中的键值
vents_iterator, cancel = client.watch('aaa')         #监听etcd中aaa键 是否发生改变,
print(event).value
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-09-13 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据保险箱
数据保险箱(Cloud Data Coffer Service,CDCS)为您提供更高安全系数的企业核心数据存储服务。您可以通过自定义过期天数的方法删除数据,避免误删带来的损害,还可以将数据跨地域存储,防止一些不可抗因素导致的数据丢失。数据保险箱支持通过控制台、API 等多样化方式快速简单接入,实现海量数据的存储管理。您可以使用数据保险箱对文件数据进行上传、下载,最终实现数据的安全存储和提取。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档