1. 程式人生 > >搭建etcd集群,python調etcd接口

搭建etcd集群,python調etcd接口

搭建etcd集群及python調接口


node1:192.168.133.140

node2:192.168.133.141

node3:192.168.133.142


1,安裝ntp服務:

yum install ntp

啟動ntp服務

systenctl start ntp


安裝etcd

yum install -y etcd-3.2.5-1.el7.x86_64


配置etcd

編輯配置文件

vim /etc/etcd/etcd.conf

修改內容如下:

# [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集群 並設置開機啟動

systemctl start etcd && systemctl enable etcd



python調etcd的接口

安裝etcd3的模塊

pip install etcd3
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


搭建etcd集群,python調etcd接口