电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

如何用python 操作zookeeper

瀏覽:67日期:2022-07-01 08:51:24
ZooKeeper 簡介

ZooKeeper 是一個分布式的、開放源碼的分布式應用程序協調服務,是 Google 的 Chubby 一個開源的實現,是 Hadoop 和 Hbase 的重要組件。它是一個為分布式應用提供一致性服務的軟件,提供的功能包括:配置維護、域名服務、分布式同步、組服務等。ZooKeeper 支持大部分開發語言,除了某些特定的功能只支持 Java 和 C。python 通過 kazoo 可以實現操作 ZooKeeper 。

一、安裝

這個簡單,使用 pip 命令安裝

pip3 install kazoo二、連接 ZooKeeper

可通過 KazooClient 類直接連接 ZooKeeper ,支持多個 host ,端口默認 2181。

import jsonfrom kazoo.client import KazooClientzk = KazooClient(hosts=’10.1.44.55’)zk.start()三、創建節點

先看下 create() 方法定義

def create(self, path, value=b'', acl=None, ephemeral=False,sequence=False, makepath=False): :param path: Path of node. :param value: Initial bytes value of node. :param acl: :class:`~kazoo.security.ACL` list. :param ephemeral: Boolean indicating whether node is ephemeral (tied to this session). :param sequence: Boolean indicating whether path is suffixed with a unique index. :param makepath: Whether the path should be created if it doesn’t exist.

我們來解釋下這些參數:

path: 節點路徑 value: 節點對應的值,注意值的類型是 bytes ephemeral: 若為 True 則創建一個臨時節點,session 中斷后自動刪除該節點。默認 False sequence: 若為 True 則在你創建節點名后面增加10位數字(例如:你創建一個 testplatform/test 節點,實際創建的是 testplatform/test0000000003,這串數字是順序遞增的)。默認 False makepath: 若為 False 父節點不存在時拋 NoNodeError。若為 True 父節點不存在則創建父節點。默認 False

舉個例子:

from kazoo.client import KazooClientzk = KazooClient(hosts=’10.1.44.55’)zk.start()# 創建節點:makepath 設置為 True ,父節點不存在則創建,其他參數不填均為默認zk.create(’/testplatform/test’,b’this is test!’,makepath=True)# 操作完后,別忘了關閉zk連接zk.stop()print(value)四、查看節點

KazooClient 類用提供 get_children() 和 get() 方法獲取 子節點 和 節點對應的值

from kazoo.client import KazooClientzk = KazooClient(hosts=’10.1.44.55’)zk.start()# 獲取某個節點下所有子節點node = zk.get_children(’/testplatform’)# 獲取某個節點對應的值value = zk.get(’/testplatform/mssql’)# 操作完后,別忘了關閉zk連接zk.stop()print(node,value) 五、更改節點

更改上文創建的 node 值,使用 set() 方法

from kazoo.client import KazooClientzk = KazooClient(hosts=’10.1.44.55’)zk.start()# 更改節點對應的valuezk.set(’/testplatform/test’,b’this is not test’)# 獲取某個節點對應的值value = zk.get(’/testplatform/test’)zk.stop()print(value) 六、刪除節點

刪除上文創建的節點,使用 delete() 方法

from kazoo.client import KazooClientzk = KazooClient(hosts=’10.1.44.55’)zk.start()# 刪除節點對應的valuezk.delete(’/testplatform/test’,recursive=False)zk.stop()

參數 recursive:若為 False,當需要刪除的節點存在子節點,會拋異常 NotEmptyError 。若為True,則刪除 此節點 以及 刪除該節點的所有子節點

七、watches 事件

zookeeper 所有讀操作都有設置 watch 選項(get_children() 、get() 和 exists())。watch 是一個觸發器,當檢測到 zookeeper 有子節點變動 或者 節點value發生變動時觸發。下面以 get() 方法為例。

from kazoo.client import KazooClientzk = KazooClient(hosts=’10.1.44.55’)zk.start()def test(event): print(’觸發事件’)if __name__ == '__main__': zk.get(’/testplatform/test’,watch = test) print('第一次獲取value') zk.set(’/testplatform/test’,b’hello’) zk.get(’/testplatform/test’,watch = test) print('第二次獲取value')# 輸出#第一次獲取value#觸發事件#第二次獲取value

需要更多高階使用的同學,請參考 kazoo 官方文檔:https://kazoo.readthedocs.io/en/latest/api/client.html

以上就是如何用python 操作zookeeper的詳細內容,更多關于python 操作zookeeper的資料請關注好吧啦網其它相關文章!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 济南网站策划设计_自适应网站制作_H5企业网站搭建_济南外贸网站制作公司_锐尚 | 高尔夫球杆_高尔夫果岭_高尔夫用品-深圳市新高品体育用品有限公司 | 磁力抛光机_磁力研磨机_磁力去毛刺机_精密五金零件抛光设备厂家-冠古科技 | 上海瑶恒实业有限公司|消防泵泵|离心泵|官网 | 储气罐,真空罐,缓冲罐,隔膜气压罐厂家批发价格,空压机储气罐规格型号-上海申容压力容器集团有限公司 | 北京翻译公司-专业合同翻译-医学标书翻译收费标准-慕迪灵 | 小程序开发公司_APP开发多少钱_软件开发定制_微信小程序制作_客户销售管理软件-济南小溪畅流网络科技有限公司 | 深圳离婚律师咨询「在线免费」华荣深圳婚姻律师事务所专办离婚纠纷案件 | 深圳南财多媒体有限公司介绍| 阿尔法-MDR2000无转子硫化仪-STM566 SATRA拉力试验机-青岛阿尔法仪器有限公司 | 医用空气消毒机-医用管路消毒机-工作服消毒柜-成都三康王 | 纯水电导率测定仪-万用气体检测仪-低钠测定仪-米沃奇科技(北京)有限公司www.milwaukeeinst.cn 锂辉石检测仪器,水泥成分快速分析仪-湘潭宇科分析仪器有限公司 手术室净化装修-手术室净化工程公司-华锐手术室净化厂家 | 酶联免疫分析仪-多管旋涡混合仪|混合器-莱普特科学仪器(北京)有限公司 | 南京交通事故律师-专打交通事故的南京律师 | 精密冲床,高速冲床等冲压设备生产商-常州晋志德压力机厂 | 青岛侦探_青岛侦探事务所_青岛劝退小三_青岛调查出轨取证公司_青岛婚外情取证-青岛探真调查事务所 | 真石漆,山东真石漆,真石漆厂家,真石漆价格-山东新佳涂料有限公司 | 根系分析仪,大米外观品质检测仪,考种仪,藻类鉴定计数仪,叶面积仪,菌落计数仪,抑菌圈测量仪,抗生素效价测定仪,植物表型仪,冠层分析仪-杭州万深检测仪器网 | 无线联网门锁|校园联网门锁|学校智能门锁|公租房智能门锁|保障房管理系统-KEENZY中科易安 | 超声波电磁流量计-液位计-孔板流量计-料位计-江苏信仪自动化仪表有限公司 | 低气压试验箱_高低温低气压试验箱_低气压实验箱 |林频试验设备品牌 | 杭州成人高考_浙江省成人高考网上报名 | 净化车间_洁净厂房_净化公司_净化厂房_无尘室工程_洁净工程装修|改造|施工-深圳净化公司 | 电力测功机,电涡流测功机,磁粉制动器,南通远辰曳引机测试台 | 井式炉-台车式回火炉-丹阳市电炉厂有限公司 | 热镀锌槽钢|角钢|工字钢|圆钢|H型钢|扁钢|花纹板-天津千百顺钢铁贸易有限公司 | 许昌奥仕达自动化设备有限公司| 上海深蓝_缠绕机_缠膜机-上海深蓝机械装备有限公司 | 法兰连接型电磁流量计-蒸汽孔板节流装置流量计-北京凯安达仪器仪表有限公司 | 台湾阳明固态继电器-奥托尼克斯光电传感器-接近开关-温控器-光纤传感器-编码器一级代理商江苏用之宜电气 | 东莞工厂厂房装修_无尘车间施工_钢结构工程安装-广东集景建筑装饰设计工程有限公司 | CCE素质教育博览会 | CCE素博会 | 教育展 | 美育展 | 科教展 | 素质教育展 | 高压油管,液压接头,液压附件-烟台市正诚液压附件 | 喷播机厂家_二手喷播机租赁_水泥浆洒布机-河南青山绿水机电设备有限公司 | 找培训机构_找学习课程_励普教育| 选矿设备,选矿生产线,选矿工艺,选矿技术-昆明昆重矿山机械 | 磁力加热搅拌器-多工位|大功率|数显恒温磁力搅拌器-司乐仪器官网 | 东莞螺杆空压机_永磁变频空压机_节能空压机_空压机工厂批发_深圳螺杆空压机_广州螺杆空压机_东莞空压机_空压机批发_东莞空压机工厂批发_东莞市文颖设备科技有限公司 | 行吊_电动单梁起重机_双梁起重机_合肥起重机_厂家_合肥市神雕起重机械有限公司 | 电动葫芦|手拉葫芦|环链电动葫芦|微型电动葫芦-北京市凌鹰起重机械有限公司 | 伟秀电气有限公司-10kv高低压开关柜-高低压配电柜-中置柜-充气柜-欧式箱变-高压真空断路器厂家 |