Zookeeper實戰之使用Zookeeper API
前幾篇文章介紹了Zookeeper的安裝,今天來看看怎樣通過Zookeeper的API來操作Zookeeper。
要使用Zookeeper的API,首先需要建立一個ZooKeeper物件來連線ZooKeeper的server。然後可以通過下面的方法來操作znode節點
create: 建立znode節點。
delete: 刪除znode節點,這裡需要注意就是如果要刪除的znode節點有子節點,需要先刪除所有子節點。
setData: 修改或設定znode節點的值。
getData: 獲取znode節點的值。
exists: 判斷一個znode節點是不是存在,返回一個Stat物件。
getChildren: 獲取一個節點的子節點。
下面看看具體程式碼實現
package my.zookeeperstudy; import org.apache.zookeeper.*; import java.util.List; public class Test { private static final String HOST = "<hostname>"; private static final String PORT = "2181"; public static void main(String[] args) throws Exception { ZooKeeper zk = new ZooKeeper(HOST + ":" + PORT, 10000, new Watcher() { public void process(WatchedEvent event) { System.out.println("event: " + event.getType()); } }); System.out.println(zk.getState()); zk.create("/myApps", "myAppsData".getBytes(), ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT); zk.create("/myApps/App1", "App1Data".getBytes(), ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT); zk.create("/myApps/App2", "App2Data".getBytes(), ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT); zk.create("/myApps/App3", "".getBytes(), ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT); zk.setData("/myApps/App3","App3Data".getBytes(), -1); System.out.println(zk.exists("/myApps", true)); System.out.println(new String(zk.getData("/myApps", true, null))); List<String> children = zk.getChildren("/myApps", true); for (String child : children) { System.out.println(new String(zk.getData("/myApps/" + child, true, null))); zk.delete("/myApps/" + child,-1); } zk.delete("/myApps",-1); zk.close(); } }
相關推薦
Zookeeper實戰之使用Zookeeper API
前幾篇文章介紹了Zookeeper的安裝,今天來看看怎樣通過Zookeeper的API來操作Zookeeper。要使用Zookeeper的API,首先需要建立一個ZooKeeper物件來連線ZooKeeper的server。然後可以通過下面的方法來操作znode節點creat
【Zookeeper】程式設計實戰之Zookeeper分散式鎖實現秒殺
1. Zookeeper簡述 我們要了解一樣技術,首先應該要到它的官網,因為官網的資訊一般都是最準確的,如下圖是Zookeeper官網對它的介紹。 從官網的介紹中,可以總結出,Zookeeper是一個集中式服務,它能夠實現高度可靠的分散式協調,可用於開發和維護開源
Zookeeper實戰之單機叢集模式
前一篇文章介紹了Zookeeper的單機模式的安裝及應用,但是Zookeeper是為了解決分散式應用場景的,所以通常都會執行在叢集模式下。今天由於手頭機器不足,所以今天打算在一臺機器上部署三個Zookeeper服務來組成一個Zookeeper叢集。這裡解壓Zookeeper的
Docker實戰之Zookeeper叢集
1. 概述 這裡是 Docker 實戰系列第四篇。主要介紹分散式系統中的元老級元件 Zookeeper。 ZooKeeper 是一個開源的分散式協調服務,是 Hadoop,HBase 和其他分散式框架使用的有組織服務的標準。 分散式應用程式可以基於 ZooKeeper 實現諸如資料釋出/訂閱、負載均衡、命名服
大資料Zookeeper系列之Zookeeper服務開機自啟動配置
1. 編寫執行指令碼 $ sudo cd /etc/init.d $ sudo vi zookeeper #!/bin/bash #chkconfig:2345 20 90 #description:zookeeper #processname:zookeeper
大資料Zookeeper系列之Zookeeper分散式協調服務部署
一、部署準備 1. 安裝介質 zookeeper-3.4.13:http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.13/zookeeper-3.4.13.tar.gz 2. 主機規劃 192.168.233.13
ZooKeeper學習之zookeeper的ACL(AUTH)
zookeeper的ACL(AUTH) ACL(Access Control List),Zookeeper作為一個分散式協調框架,其內部儲存的都是一些關於分散式 系統執行時狀態的元資料,尤其是設計到一些分散式鎖,Master選舉和協調等應用場景。我們需要有 效地保障Zookeeper中的資料安全,
THINKPHP5實戰之Restful API(一) 如何建立RESTFUL API
說到Restful Api,我想大家肯定都不陌生,重要性可想而知,正好根據一個例子給大家來剖析一下Restful Api.php我選用的框架是THINKPHP5,當初這個框架釋出的時候就定義為為API而生,下面我們來看看怎麼用TP5來實現Restful Api吧.工具:THI
Zookeeper C++程式設計實戰之主備切換
預設zookeeper日誌輸出到stderr, 可以呼叫zoo_set_log_stream(FILE*)設定輸出到檔案中 還可以呼叫zoo_set_debug_level(ZooLogLevel)控制日誌級別!!! 類CZookeeperHelper提供基於zookeeper的主備切換介面和讀
Zookeeper C++程式設計實戰之配置更新
CZookeeperHelper:https://github.com/eyjian/libmooon/blob/master/include/mooon/net/zookeeper_helper.h CMainHelper:https://github.com/eyjian/libmooon/
大資料生態之zookeeper(API)
在使用maven專案編寫zookeeper程式時匯入相關的jar包: <dependency> <groupId>org.apache.zookeeper</groupId> <artifactId&g
大數據生態之zookeeper(API)
監聽 信息 zookeepe delete byte pat path upd try 在使用maven項目編寫zookeeper程序時導入相關的jar包: <dependency> <groupId>org.
Zookeeper之常用API詳解
1、建立ZNode ①命令列方式 在根目錄下建立“FZnode"節點並存儲資料”First Znode": create /FZnode "First Znode" 在根目錄下建立
dubbo實戰之三:使用Zookeeper註冊中心
### 歡迎訪問我的GitHub [https://github.com/zq2599/blog_demos](https://github.com/zq2599/blog_demos) 內容:所有原創文章分類彙總及配套原始碼,涉及Java、Docker、Kubernetes、DevOPS等; ### 《
Zookeeper之Zookeeper底層客戶端架構實現原理(轉載)
一次 描述 綁定 機制 一個 ini fin 源碼 receive Zookeeper的Client直接與用戶打交道,是我們使用Zookeeper的interface。了解ZK Client的結構和工作原理有利於我們合理的使用ZK,並能在使用中更早的發現問題。本文將在研究源
Kafka 學習筆記之 ZooKeeper作用
9.png lec 管理 信息 發現 ges ima cti http Kafka使用ZooKeeper 配置管理 Leader Election 服務發現 首先進入ZooKeeper客戶端: ls / 可以看到有以下節點: 查看Topic 配置信息:體現了ZooK
[dubbo實戰] dubbo+zookeeper偽集群搭建
view 中修改 back int address 註冊中心 weight rep clipboard zookeeper作為註冊中心,服務器和客戶端都要訪問,如果有大量的並發,肯定會有等待。所以可以通過zookeeper集群解決。 一、為什麽需要zookeeper呢?
ZooKeeper 學習之 安裝 部署
安裝 apach 編寫 端口 erro lang 問題 名稱 cal ZooKeeper是一個分布式的,開放源碼的分布式應用程序協調服務,ZooKeeper是以Fast Paxos算法為基礎,實現同步服務,配置維護和命名服務等分布式應用。 Zookeeper 分布式服務框
zookeeper總結之客戶端執行核心模塊
except pre 執行 strong main amp per bst ply ZooKeeper ZooKeeper是客戶端操作ZooKeeper服務端的核心類。當用戶向ZooKeeperMain執行相關命令時,最終會交給ZooKeeper執行,其會將用戶請求封裝
使用ZooKeeper提供的Java API操作ZooKeeper
zookeeper 服務協調框架 分布式 集群 Java API 建立客戶端與zk服務端的連接 我們先來創建一個普通的maven工程,然後在pom.xml文件中配置zookeeper依賴: <dependencies> <dependency>