node1:192.168.133.140 node
node2:192.168.133.141 python
node3:192.168.133.142vim
1,安裝ntp服務:ruby
yum install ntpide
啓動ntp服務this
systenctl start ntp
安裝etcdspa
yum install -y etcd-3.2.5-1.el7.x86_64
配置etcdtoken
編輯配置文件接口
vim /etc/etcd/etcd.conf
修改內容以下:ip
# [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