日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Zookeeper_环境搭建及客户端使用

發布時間:2024/4/13 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Zookeeper_环境搭建及客户端使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

第一件事情就是要上傳zookeeper,當前這里有一個zookeeper,我們用的不是最新的,現在已經有3.4.6了我用的都是3.4.5

第一件事情做什么事呢,解壓這個zookeeper,這個很簡單,tar -zxvf zookeeper -C /usr/local,解壓到/usr/local下

三個節點都是software文件下,基本上這三個節點都解壓成功了,然后咱們退出,cd ..,然后重命名一下,三個節點都應用一下,三個節點都變成zookeeper

三個節點都應用一下,解壓完改完名字之后,可能要設置一下環境變量,vim /etc/profile文件,然后加上zookeeper的home,添加到path下邊,這個步驟其實已經寫完了,咱們整體的去vim /etc/profile文件

就是這個配置我不改了,不再去做了,就配一個zookeeper_home,/usr/local/zookeeper,然后把zookeeper_home加在這里,/bin找到zookeeper的運行,這三個文件都有,這步就默認修改完了,咱們q!退出來,改完這個文件resource一下,生效這兩步走完以后,你要改一下zookeeper里的配置文件,他的配置文件就叫這個名字,默認就叫sample,在zookeeper的conf下面

他里面有三個文件,主要是zoo_sample.cfg,這個咱們整體的去mv一下,去改成zoo.cfg

復制一下,這三個都有了,整體去執行一下,就變成這個名字

然后咱們去編輯一下,進到這里面之后呢,他的配置是非常簡單的,都需要指定一個dataDir,dataDir是咱們存放數據的地方

那我這塊改一下,/usr/local/software/zookeeper-3.4.6/data,我建立一個文件夾,就是zookeeper下面有一個data文件夾,這是第一步咱們要改的操作,然后下一步咱們要做的事情,就是咱們要配置三個節點,三個節點之間要相互的進行通信,你注意看我這塊吧,這塊怎么去做呢,就是最后要加一個內容,就是在server.0,server.1,server.2,標識其實你是可以隨便去改的,然后是你的主機名或者IP名也行,就是IP地址加上2888,3888,這個是什么意思呢,咱們之后再去講這個事,先把這個配置配上第一個節點是server.0,看他是怎么寫的,server.0=192.168.1.121:2888:3888,copy一下,粘貼再粘貼,122,123,改成server.1,改成server.2,把這個配置整體copy,粘貼

就是三個節點都要做同樣的事情,然后按ESC,第二件事情要做的,剛才其實咱們路徑指定的是什么啊,指定的是dataDir=/usr/local/zookeeper/data,data文件夾,要再創建一個文件夾data,在zookeeper下面,現在這三個文件都在zookeeper下面了,mkdir data這個文件,回車

都創建好了這個data文件以后呢,ll一下,你會發現三個節點的zookeeper下都有一個data文件夾,都會有一個data文件夾,然后咱們集體的cd到data文件夾下面,這下面是沒有任何文件的,咱們要建立一個文件了,用touch,vim都行,zookeeper要指定一個myid的文件,myid的文件分別寫上0,1,2,直接vim myid回車,121上寫一個0,122上寫一個1,123上寫一個2,這個就對應server.0,server.1,server.2,整體wq!保存退出,其實做完這兩步操作,咱們的zookeeper就算配置完畢了,然后就可以去啟動咱們的zk了,路徑其實是要到/usr/local/zookeeper/bin去啟動,咱們看一眼吧,我隨便找一個機器吧,cd /usr/local/zookeeper/,zookeeper下有一堆的文件

一堆的文件,咱們主要是去bin下去看一下,這下面都是啥啊,這下面就是一些啟動的腳本

咱們要啟動,現在要應用的就兩個,一個是zkCli.sh,一個zkServer.sh,由于咱們已經配置了環境變量了,所以說無所謂,整體cd到/usr/local下,咱們直接敲命令就行,因為環境變量已經配置好了,vim /etc/profile

zkServer.sh start回車

三個節點都去start完了以后,到底啟動還是沒有啟動,你得看他的狀態,他有個status

你看121的模式是follower

然后122是一個leader

123他也是一個follower

122這個節點是一個主節點,121和123是一個從節點,然后咱們整體的clear,其實現在zookeeper的環境是已經搭建完畢了,其實很簡單,然后咱們怎么去操作zookeeper,去看數據啊,他這里面有點像shell命令

他這里面有一個相當于是shell操作吧,他提供了zkCli.sh的一個腳本,我從主節點找也行,從從節點找也行,這個無所謂,咱們JPS一下吧,咱們的zookeeper進程一直都在,zookeeper服務一直都是OK的,然后咱們繼續往下走,接下來咱們要操作這個東西,通過zkCli.sh這個,連一下客戶端,那我就隨便找一臺機器吧,你是121也好,你是122也好,你是123也好,直接zkCli.sh就進來了

不用start,我剛才敲得是zkCli.sh這個,然后進來以后呢,這里面他能看到什么啊,這里進入d的是zk的客戶端,正常的zk的客戶端是需要查看數據的,查看命令其實就這幾個命令,ls表示要查找什么樣的數據,咱們現在的zookeeper下是沒啥數據的,其實之前也說過,你用client端看著別扭,你看zk下面節點是沒有的

他就是這樣的一個節點,根目錄下有一個zookeeper,zookeeper下有一個quota,配額,其實 你不用去看,相當于數據有多少配額,我后期會發啊,其實正常來講,你去看這兒,你可以去eclipse下去裝插件,工具有很多種,你會發現下面是連著三臺服務器,然后節點基本上就是這么一個情況,既然看到這個情況了,你要想操作命令行的話,你要ls /,回車

你會發現根節點下有一個zookeeper的節點,進去回車 ls /zookeeper,有quota這個節點,就是剛才可視化的結果

這個下面就是空了,啥也沒有了,其實默認的zookeeper剛裝好以后呢,就是這種形態,就是根節點下掛著一個zookeeper的,然后zookeeper下掛著一個quota,這個東西,應該很簡單了,你會發現他沒有clear命令

你敲clear命令,他就會說我們這里是沒有clear命令的,然后告訴你有什么命令,一共就這么多,connect,get還有set啊,rmr,delquota,quit退出,退出client端,stat節點的狀態,history,還有sync同步,delete刪除節點,其實我quit就是退出的

你就發現我就已經退出了,我再進入zkCli.sh進入,這個也是可以的,接下來咱們看怎么去操作,還是看這個,如果你想新創建一個節點,其實很簡單的,調用create這個命令,create命令他其實有key有value,他這個目錄是一個樹形結構,一個樹形結構,這里可以有分支,他也可以有分支,這里面也有分支,然后對應著這個目錄,比如/zookeeper,然后我可以建一個目錄,你說根節點下是一個/,我也可以創建一個/bhz,相當于一個節點的目錄,你可以把它當做一個key,這個key可以指定一個value,這個value就是這個節點存放的一個數據,就是這樣的,結構其實是很簡單的,咱們做一下create,比如隨便找一個路徑吧,create /bhz hadoop,/bhz這個是一個key,value叫啥呢,比如叫hadoop,你會看見這個節點已經OK了

這回我們再去觀察一下這個數據,我刷新一下,他就變成這種結構了,根節點下有一個這個文件,你會發現是這樣的了

其實也很簡單,通過get /bhz,也可以通過set設值,我取一下吧,get /zookeeper

你get一下zookeeper,里面一堆東西,你可能看不明白,咱們先clear掉,咱們先不get /zookeeper,咱們先get /bhz這個,這個你就能夠看明白了

你會發現他的數據就在這里了,hadoop就是數據,這里有一堆,比如ctime,這個節點的時間是什么,然后這個修改的節點是什么,zookeeper它是保證一條一條順序的,所以每生成一個節點操作他的時候,都會生成一個id,包括他的version版本號,就是dataVersion,這里面都有,包括他的children,多少個孩子,包括節點的長度是多長,6個長度,hadoop是6個字母,就是這個意思,如果獲取到zookeeper下面,get /zookeeper

這回你再看,這個zookeeper是沒有任何數據的,他也有一個時間,創建的時間,然后你會發現他下面有一個孩子numChildren,那個孩子就是quota,然后其他的就無所謂了,慢慢的再說,基本上就是這個形式,我可以去set這個節點,給他起個名字,set /bhz baihe

我現在set成功了以后,它會返回一個東西,這個時候數據就成5個了,然后你就會發現他不一致了,mtime是modify time就變了然后dataVersion同理也有些變化了,我再設一遍 set /bhz kkkk

這個dataVersion你每次去進行修改的時候,dataVersion總是進行加1,然后長度也總是變化的,set /bhz cccc,然后你有沒有發現,你會發現有一個問題,就是mZxid這個也發生變化了,就是mZxid = 0xfe2這個,這個id,每次也會有不一致的變化,創建節點的時候會有一個節點的ID,就是modify的時候會指定一個節點的id,他兩因為有修改了,都會有節點的變化的,就是你每次操作一下,其實你通過咱們client端的api啊,你都是可以去查找到的,這里面的信息都是可以查找到的,然后咱們繼續往下看,還有一些啊,刪除,你可以遞歸的刪除,你也可以不遞歸的刪除,你不想遞歸的刪除就用rmr /path這個,rmr,如果不遞歸的刪除就用delete /path/child這個,你比如我現在去建立一個節點,我現在ls /一下

有一個節點了,你比如我想在bhz節點下創建一個節點,你肯定也是這么去寫,也會創建一個attr,create /bhz/attr,bhz的節點下就是attr,他整體是一個url,這個url也當做一個key,我給他指定一個名字,create /bhz/attr shuxing,就這么寫

create成功,然后我去get的時候,get /bhz/attr

你會發現,這個屬性就已經有了,刪除我這么寫行不行,delete /bhz,這樣寫行不行

他說什么啊,Node not empty,因為我這個節點下還有一個子節點,所以你delete不行,先刪除,只有刪除attr,我們rmr /bhz這樣總可以吧

這回我們在看一下,有少了一個節點了

基本上這都是最簡單的client端操作,能理解我說的意思吧,你也可以通過工具去添加一個節點,好像有add node,刷新一下下沒有了,我就add node,然后起一個名字

然后又delete node,然后還有change node,還是我new的不太多,一般remove就行了,一般用這個比較多

雙擊就可以寫數據了,這里面隨便寫數據了

數據你保存一下就行了,剛才有個*就沒了,這回你會發現,你會發現bhz的值就發生變化了,因為下面沒有節點,所以返回空所以我get /bhz

是不是一行1就已經有了,還有16個長度,這個是我剛才通過工具進行操作的,我只要以變更然后保存就發生變化了,這個工具都是很好操作的

所以關于工具的操作,利用這個命令去做,就OK了,演示一下File,你可以傳一個文件的,一般我是自己去創建file,你可以這么去做,這個節點存儲數據的作用,其實就是動態的變更信息,咱們到后期再詳細去說,以后對應的一個節點,我可以存一堆數據,這個數據可以存一個JSON字符串,這都可以,包括這個節點可以上傳文件,圖片啊,這都是行的,這里面怎么去傳呢,我先新建一個,我還沒試過能不能行呢,新文件new_file,沒試過,就123吧

現在有一個文件了,然后上傳,我沒有試過,試一下,不知道行不行

這樣的話我的節點下肯定不一樣了,我再雙擊打開就是123

也就是說也可以傳,圖片文件就是圖片了,我這里有沒有有圖片呢,不要太大,小圖片就行,這里又張小圖片,/bhz這個節點我要修改,我要上傳一個文件,這個文件就在這兒 保存好了關掉,我再去打開,這里面一堆東西

這個就是那個圖片,很多,這工具也是可以上傳的,也是可以上傳的,創建什么呢,一般是二進制的文件的,JAVA API這部分,我不知道這個編碼有沒有問題,自己回去試試,這個我真不知道,咱們后期自己可以去做通過JAVA API去獲得

?

總結

以上是生活随笔為你收集整理的Zookeeper_环境搭建及客户端使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。