1. 程式人生 > >ZooKeeper在Windows系統上單機部署和使用

ZooKeeper在Windows系統上單機部署和使用

今天學習一下ZooKeeper的部署和使用。

1. 下載ZooKeeper並解壓到D盤根目錄,如下圖。

這裡寫圖片描述

2. 更改配置 zoo.cfg

(1) 進入conf目錄,發現有zoo_sample.cfg檔案。拷貝該檔案並重命名為zoo.cfg。
(2) 開啟zoo.cfg檔案,”dataDir=/tmp/zookeeper”是Linux系統下的路徑配置,我們更改為”dataDir=D:\zookeeper-3.4.8\data”。
這裡寫圖片描述

3. 啟動ZooKeeper

(1) 進入bin目錄下
這裡寫圖片描述

(2) 啟動ZooKeeper伺服器端:雙擊”zkServer.cmd”檔案。
這裡寫圖片描述

(3) 啟動ZooKeeper客戶端:雙擊”zkCli.cmd”檔案。
這裡寫圖片描述

4. 使用ZooKeeper

import org.apache.zookeeper.CreateMode;
import org.apache.zookeeper.WatchedEvent;
import org.apache.zookeeper.Watcher;
import org.apache.zookeeper.ZooDefs.Ids;
import org.apache.zookeeper.ZooKeeper;

public class ZooKeeperTest {

    public static void main(String[] args) throws Exception {
        Watcher watcher = new Watcher() {
            // 監控所有被觸發的事件
            public void process(WatchedEvent event) {
                System.out
.println("觸發了" + event.getType() + "事件!"); } }; // 1.連線ZooKeeper伺服器 // 第一個引數:ZooKeeper伺服器的連線地址,如果ZooKeeper是叢集模式或偽叢集模式(即ZooKeeper伺服器有多個),那麼每個連線地址之間使用英文逗號間隔,單個連線地址的語法格式為"主機IP:ZooKeeper伺服器埠號"; // 第二個引數:session超時時長(單位:毫秒) // 第三個引數:用於監控目錄節點資料變化和子目錄狀態變化的Watcher物件 ZooKeeper zooKeeper = new ZooKeeper("127.0.0.1:2181"
, 5000, watcher); // 2.建立名為"/rootNode"的持久目錄節點 zooKeeper.create("/rootNode", "RootNodeData".getBytes(), Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT); // 判斷指定目錄節點是否存在 System.out.println("'/rootNode'節點狀態:" + zooKeeper.exists("/rootNode", true)); // 獲取"rootNode"節點上的資料 System.out.println("'/rootNode'節點上資料:" + new String(zooKeeper.getData("/rootNode", false, null))); // 3.建立子目錄節點 // 在"rootNode"節點下建立一個名為"ChildNode1"的子目錄節點 zooKeeper.create("/rootNode/ChildNode1", "ChildNode1Data".getBytes(), Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT); // 在"rootNode"節點下建立一個和"ChildNode1"同級的名為"ChildNode2"的子目錄節點 zooKeeper.create("/rootNode/ChildNode2", "ChildNode2Data".getBytes(), Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT); // 取出目錄節點"rootNode"下的所有子目錄節點 System.out.println("目錄節點'/rootNode'下的所有子目錄節點有:" + zooKeeper.getChildren("/rootNode", true)); // 修改名為"ChildNode2"的目錄節點資料 zooKeeper.setData("/rootNode/ChildNode2", "NewChildNode2Data".getBytes(), -1); // 4.操作目錄節點 // 刪除"/rootNode/ChildNode1"目錄節點 zooKeeper.delete("/rootNode/ChildNode1", -1); // 判斷"/rootNode/ChildNode1"目錄節點是否存在 System.out.println("'/rootNode/ChildNode1'節點狀態:" + zooKeeper.exists("/rootNode/ChildNode1", false)); // 刪除"/rootNode/ChildNode2"目錄節點 zooKeeper.delete("/rootNode/ChildNode2", -1); // 刪除"/rootNode"目錄節點 zooKeeper.delete("/rootNode", -1); // 5.關閉與ZooKeeper的連線 zooKeeper.close(); } }

輸出結果是:”
觸發了None事件!
‘/rootNode’節點狀態:3,3,1482156908288,1482156908288,0,0,0,0,12,0,3
‘/rootNode’節點上資料:RootNodeData
目錄節點’/rootNode’下的所有子目錄節點有:[ChildNode1, ChildNode2]
觸發了NodeChildrenChanged事件!
‘/rootNode/ChildNode1’節點狀態:null
觸發了NodeDeleted事件!

相關推薦

ZooKeeper在Windows系統單機部署使用

今天學習一下ZooKeeper的部署和使用。 1. 下載ZooKeeper並解壓到D盤根目錄,如下圖。 2. 更改配置 zoo.cfg (1) 進入conf目錄,發現有zoo_sample.cfg檔案。拷貝該檔案並重命名為zoo.cfg。 (2)

FastDFS分散式檔案系統在Linux部署安裝

最近空閒之餘,對分散式檔案系統感興趣就研究研究。 首先要知道FastDFS的定義:FastDFS是用c語言編寫的一款開源的分散式檔案系統。FastDFS為網際網路量身定製,充分考慮了冗餘備份、負載均衡、線性擴容等機制,並注重高可用、高效能等指標,使用FastDFS很容易搭

安裝搜尋引擎--Solr 單機部署api 簡單使用

簡介 : Solr 是Apache下的一個頂級開源專案,採用Java開發,它是基於Lucene的全文搜尋伺服器。Solr提供了比Lucene更為豐富的查詢語言,同時實現了可配置、可擴充套件,並對索引、搜尋效能進行了優化。 Solr是一個全文檢索伺服器,只需

在linux系統CentOS 6.6 64位安裝部署jetty執行web應用

1. 在linux系統CentOS 6.6 64 預設Java是openSDK,需要下載sun的JavaSDK,  http://www.oracle.com/technetwork/java/javase/downloads/index.html 安裝好後,配置相應的j

使用mobileconfig在ios系統部署vpn配置證書

<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict>

linux系統部署一個web項目

mod not 重要 path lib linux遠程 項目部 登錄 echo 對於apache開源項目中tomcat的認識,大多停留在Windows下,這次我通過一個簡單的實例來介紹一下在linux下如何搭建tomcat環境,並且部署一個web項目。 先從基本安裝開始,可

Linux系統傳下載命令rzsz

file escape yum 進制 二進制 -o -- sca code Linux系統簡單易用的上傳下載命令rz和sz yum install lrzsz -y 上傳(rz)-b, --binary:以二進制方式傳輸,推薦使用-e, --escape:對所有控制字符轉

在64位系統部署BDE的要點

首先,據我所知,Borland/CodeGear沒有釋出過支援64bit windows的BDE安裝包,如果你在網上看到了相關的BDE安裝包,很有可能是使用者自己重新打包釋出的。無論是在32bit windows還是64bit windows下,釋出BDE關鍵是以下幾點1:將BD

解決win10音效卡驅動不相容問題成功安裝戰神k650-i5-d2的Sound Blaster Cinema2在win10系統

安裝win10後,偶爾會出現藍屏,經過我的發現,每次聽歌用揚聲器並且長時間。都會發生藍屏 1 . 所以懷疑音效卡驅動VIA HD Audio(Win 8.1)與系統不相容。 2 .乾脆重新安裝音效卡驅動。在網上找到與win10相容的VIAHDAud_v11_1100e_01

在CentOS7系統部署KVM虛擬化平臺

net linux5 xfs -a service svm mount dock eat 虛擬化簡介:虛擬化就是把硬件資源從物理方式轉變為邏輯方式,打破原有物理結構,使用戶可以靈活管理這些資源,並且允許1臺物理機上同時運行多個操作系統,以實現資源利用率最大化和靈活管理的一項

LinuxSolaris系統新增預設路由靜態路由方法

1.Linux伺服器上新增預設或者靜態路由 新增靜態路由:route add -net 10.0.0.0/8 gw 10.30.222.190 新增靜態路由:route add -net 192.168.0.0/16 gw 10.30.222.190 新增預設路由:route add -ne

Linux嵌入式系統linux純系統電載入程式的不同

  有些CPU在執行bootloader之前執行一段固化的程式,比如x86結構的CPU就是先執行BIOS中的韌體,然後才執行硬碟的第一個分割槽中的bootloader,在大多數的嵌入式系統中並沒有韌體,bootloader是上電第一個執行的程式。 Bios有上電自檢硬體是不是有問題

002-nodejs部署到centos系統

  感覺每次從0到1都會遇到各種坑   這次買了一個雲伺服器,想把nodejs專案部署到centos上 也是遇到了好多坑   首先就是自己的作業系統是windows,怎麼把命令複製到vnc上呢, 我真的是不知道,所以只能一行一行地寫

.net core 部署在Linux系統執行的環境搭建總結

原文: .net core 部署在Linux系統上執行的環境搭建總結   安裝Linux用的是騰訊雲的centos7.5,需要安裝有環境有mysql5.7  .netcore2.1 nginx1.14 1.首先是mysql的安裝 我用的連結工具是putty,首先root登入系統

JPress的CMS系統在Window下的部署使用

開始使用JPress系統的話首先要進入官網對其進行熟悉 官網網址如下:http://www.jpress.io/faq.html 然後是下載專案,專案下載地址是。https://gitee.com/fuhai/jpress   下載完專案後匯入到Eclipse中,記得要安裝Maven3.0版

基於華為雲區塊鏈服務快速部署搭建鏈應用

華為雲區塊鏈服務的整體架構 華為雲區塊鏈服務BCS是面向企業及開發者的高效能、高可用和高安全的區塊鏈技術平臺服務,可以幫助企業和開發人員在華為雲上快速、低成本的建立、部署和管理區塊鏈應用。 BCS基於Hyperledger1.0、kubernetes搭建,配置簡單,數分鐘內即可完成部署,提供

32位系統64位系統資料型別的長度

轉載:http://blog.csdn.net/huyisu/article/details/17604983 int型字長問題: ① C/C++規定int字長和機器字長相同; ② 作業系統字長和機器字長未必一致; ③ 編譯器根據作業系統字長來定義int字長; 由上面三點可

[轉]如何將在Windows系統寫好的專案部署到Linux伺服器

1.匯出資料庫指令碼檔案.sql 2.資料庫釋出在SQLyog上,連線資料庫:設定主機地址:Linux系統中的ip 使用者名稱密,將匯出的sql指令碼在新開啟的資料庫中進行執行即可。     3.匯出專案檔案格式為.war 修改連線資料庫檔

HRMS(人力資源管理系統)-從單機應用到SaaS應用-架構分析(功能性、非功能性、關鍵約束)-

一、開篇       上一篇《HRMS(人力資源管理系統)-從單機應用到SaaS應用-系統介紹》我們已經詳細的分析了HRMS系統具備的功能,並且從HRMS系統的概念、系統功能、HR行業管理現狀及痛點、發展趨勢及行業前景、行業內的服務提供商情況、HRMS系統的建設意義及價值等方面進行了系統化的分析梳理。我想大家

在Windows系統安裝Jenkins ---- Jenkins自動化部署學習筆記(一)

  之前一直想著學習一下Jenkins自動化部署,最近剛好有點時間,就利用這點時間來學習一下Jenkins自動化部署,做個筆記,既可以鞏固自己的學習,也可以幫助更多的人瞭解Jenkins自動化部署。   先從簡單的開始,我們先用Windows系統來安裝Jenkins,當然以後肯定會在