【Zookeeper02】ZK的作用以及使用


        上一篇介紹了ZK的安裝以及集群的搭建,這只能算是個軟件安裝過程,具體是做什么的、怎么用也沒有做解釋,這一篇中博主就自己的私人理解簡單寫一下:

   

1、是什么:

        a、Zookeeper是一個分布式協調服務,是一個中間件。

        b、能提供主從協調、服務器節點控制、統一配置管理、分布式共享鎖、統一名稱服務等功能,比較有名的是大數據以及dubbo中服務的注冊以及發現。

         c、本質上只是管理、讀取用戶提交的數據,並為數據提供監聽服務。

 

2、應用場景:

       大數據

       服務注冊與發現

       等等

 

3、一些概念:

   a、 ZK的角色:

    1、leader(主節點) ,不是固定的,啟動后根據選舉算法選出

    2、follower(從節點)

    b、ZK數據結構

     1、一顆與目錄結構類似的樹,根節點為"/",子節點為root下的 “/child1”、“/child2”等

     2、樹的每個節點為zNode,具有唯一的路徑標識

     3、每個zNode節點可以包含數據和子節點

     4、通俗來說,key就是目錄結構的寫法,以此也可以表達父子關系

     5、節點分為短暫節點(斷開連接刪除)與永久節點(斷開連接不刪除)

      create -e /root

4、zkcli的簡單使用

      a、安裝以及啟動     點擊打開鏈接

      b、控制台客戶端

      打開客戶端: root@ubuntu15:/usr/local/zookeeper-3.4.10/bin# ./zkCli.sh

      查看命令:

[zk: localhost:2181(CONNECTED) 0] help
ZooKeeper -server host:port cmd args
	stat path [watch]
	set path data [version]
	ls path [watch]
	delquota [-n|-b] path
	ls2 path [watch]
	setAcl path acl
	setquota -n|-b val path
	history 
	redo cmdno
	printwatches on|off
	delete path [version]
	sync path
	listquota path
	rmr path
	get path [watch]
	create [-s] [-e] path data acl
	addauth scheme auth
	quit 
	getAcl path
	close 
	connect host:port
[zk: localhost:2181(CONNECTED) 1] 

        切換節點:

[zk: localhost:2181(CONNECTED) 1] connect 192.168.0.16:2181

[zk: 192.168.0.16:2181(CONNECTED) 2] 

        創建與讀取數據:

[zk: 192.168.0.16:2181(CONNECTED) 2] ls
[zk: 192.168.0.16:2181(CONNECTED) 3] ls /
[zookeeper]
[zk: 192.168.0.16:2181(CONNECTED) 4] create /child1 thisischild
Created /child1
[zk: 192.168.0.16:2181(CONNECTED) 5] ls /                       
[zookeeper, child1]
[zk: 192.168.0.16:2181(CONNECTED) 6] create /child1/grandSon  this is grandson
Created /child1/grandSon
[zk: 192.168.0.16:2181(CONNECTED) 7] ls child1
Command failed: java.lang.IllegalArgumentException: Path must start with / character
[zk: 192.168.0.16:2181(CONNECTED) 8] ls /child1
[grandSon]
[zk: 192.168.0.16:2181(CONNECTED) 9] get /child1
thisischild
cZxid = 0x100000006
ctime = Thu Jul 05 00:30:41 PDT 2018
mZxid = 0x100000006
mtime = Thu Jul 05 00:30:41 PDT 2018
pZxid = 0x100000007
cversion = 1
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 4
numChildren = 1



 

5、java驅動提供的API

 


免責聲明!

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



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