Etcd的基本使用


etcd 是 CoreOS 團隊於 2013 年 6 月發起的開源項目,它的目標是構建一個高可用的分布式鍵值(key-value)數據庫,基於 Go 語言實現,內部采用 raft 協議作為一致性算法。etcd目前默認使用 2379 端口提供 HTTP API 服務。

安裝

進入官網: https://github.com/coreos/etcd/releases/
下載相應的版本,例如我下載的是etcd-v3.3.2-linux-amd64.tar.gz,然后解壓。
進入目錄啟動etcd

cd etcd-v3.3.2-linux-amd64
./etcd

在實際使用時還需要把etcd的路徑加入到PATH中,這樣在其它的目錄下都可以直接啟動etcd。這種方法只是暫時設置環境變量,要永久設置可以參考修改/etc/profile文件或.bashrc文件。

ETCD=/home/suraer/Downloads/etcd-v3.3.2-linux-amd64
export ETCD
PATH=$PATH:$ETCD

設置完上述過程后在其它目錄下只要執行etcd命令就可以啟動etcd,后面有關etcd的操作都需要在啟動etcd的情況下完成。

在etc的同級目錄下有個可執行文件etcdctl,這個是etcd的一個工具,有關etcdctl的使用可以參考相關教程。

etcd API

etcd提供了許多API來操作數據,這里介紹幾個常見的API來說明。

創建數據

// 鍵/message的值為"Hello word"
curl http://127.0.0.1:2379/v2/keys/message -XPUT -d value="Hello world"

獲取數據

// 獲取/message的值
curl http://127.0.0.1:2379/v2/keys/message

修改數據

curl http://127.0.0.1:2379/v2/keys/message -XPUT -d value="Hello etcd"

刪除數據

curl http://127.0.0.1:2379/v2/keys/message -XDELETE

設置鍵的存活時間

// 5秒后/foo將被銷除
curl http://127.0.0.1:2379/v2/keys/foo -XPUT -d value=bar -d ttl=5

更多API參考官網: https://coreos.com/etcd/docs/latest/v2/api.html

Python-etcd

首先安裝etcd包

pip install python-etcd

創建client對象
注意,創建client的端口一定要和etcd啟動的端口一致,不然會報錯。

client = etcd.Client(host='127.0.0.1', port=2379)

設置值

client.write('/nodes/n1', 1)

獲取值

print(client.read('/nodes/n1').value)

刪除值

client.delete('/nodes/n1')

詳細內容參考官網: http://python-etcd.readthedocs.io/en/latest/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM