架構(gòu)實戰(zhàn).jpg
SpringBoot+zk+dubbo架構(gòu)實踐系列實現(xiàn)目標(biāo)
- 本地部署zookeeper
- SpringBoot 集成 zookeeper
- Dubbo-admin管理平臺安裝
- SpringBoot+ zookeeper +dubbo 框架搭建
- 架構(gòu)實踐(實現(xiàn)數(shù)據(jù)庫增、刪月洛、改和查)
備注:本系列偏向于動手實踐悉抵,不講太多理論扯旷。
前言
本文操作都是在Mac上進行的捂贿,如果大家用的windows 可以相對應(yīng)的進行修改一下蔫磨。
下載zookeeper
首先去官網(wǎng)下載zookeeper包己肮,這里使用3.4.12版本(也可以選擇其他的),在這里下載:http://apache.claz.org/zookeeper/zookeeper-3.4.12/
下載并解壓茎刚,目錄如下圖所示:
zookeeper 目錄.png
下載后在本地解壓襟锐,進入zookeeper-3.4.12/conf目錄下,將zoo_sample.cfg文件改名為zoo.cfg膛锭,再用文本編輯器打開這個文件粮坞,修改如下紅框位置的內(nèi)容,改成本地一個可以訪問的已有目錄:
zoopath.jpg
備注:如果是windows可以選擇磁盤路徑
打開命令行窗口初狰,進入zookeeper-3.4.12/bin目錄莫杈,執(zhí)行命令:
mac/linux :./zkServer.sh status
windows:zkServer.cmd status
查看當(dāng)前zookeeper的運行狀態(tài),如下圖所示奢入,是沒有啟動的信息
xx:bin lin$ ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /Users/lin/Documents/temp/zookeeper-3.4.12 2/bin/../conf/zoo.cfg
Error contacting service. It is probably not running.
執(zhí)行命令啟動zookeeper命令
mac/linux :./zkServer.sh start
windows:zkServer.cmd start
控制臺輸出如下信息說明zookeeper啟動成功
xxx:bin lin$ ./zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /Users/lin/Documents/temp/zookeeper-3.4.12 2/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
控制臺輸入zkServer.cmd status 查看啟動結(jié)果:
xxx:bin lin$ ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /Users/lin/Documents/temp/zookeeper-3.4.12 2/bin/../conf/zoo.cfg
Mode: standalone
如上所示zookeeper正在以standalone模式運行中姓迅;
接下來用客戶端命令來鏈接服務(wù)端,執(zhí)行如下命令:
mac/linux :./zkCli.sh
windows:zkCli.cmd
查看一下控制臺輸出結(jié)果:
xxx:bin lin$ ./zkCli.sh
Connecting to localhost:2181
2018-05-25 17:27:58,908 [myid:] - INFO [main:Environment@100] - Client environment:zookeeper.version=3.4.12-e5259e437540f349646870ea94dc2658c4e44b3b, built on 03/27/2018 03:55 GMT
2018-05-25 17:27:58,914 [myid:] - INFO [main:Environment@100] - Client environment:host.name=192.168.2.16
2018-05-25 17:27:58,914 [myid:] - INFO [main:Environment@100] - Client environment:java.version=1.8.0_91
2018-05-25 17:27:58,916 [myid:] - INFO [main:Environment@100] - Client environment:java.vendor=Oracle Corporation
2018-05-25 17:27:58,916 [myid:] - INFO [main:Environment@100] - Client environment:java.home=/Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home/jre
2018-05-25 17:27:58,917 [myid:] - INFO [main:Environment@100] - Client environment:java.class.path=/Users/lin/Documents/temp/zookeeper-3.4.12 2/bin/../build/classes:/Users/lin/Documents/temp/zookeeper-3.4.12 2/bin/../build/lib/*.jar:/Users/lin/Documents/temp/zookeeper-3.4.12 2/bin/../lib/slf4j-log4j12-1.7.25.jar:/Users/lin/Documents/temp/zookeeper-3.4.12 2/bin/../lib/slf4j-api-1.7.25.jar:/Users/lin/Documents/temp/zookeeper-3.4.12 2/bin/../lib/netty-3.10.6.Final.jar:/Users/lin/Documents/temp/zookeeper-3.4.12 2/bin/../lib/log4j-1.2.17.jar:/Users/lin/Documents/temp/zookeeper-3.4.12 2/bin/../lib/jline-0.9.94.jar:/Users/lin/Documents/temp/zookeeper-3.4.12 2/bin/../lib/audience-annotations-0.5.0.jar:/Users/lin/Documents/temp/zookeeper-3.4.12 2/bin/../zookeeper-3.4.12.jar:/Users/lin/Documents/temp/zookeeper-3.4.12 2/bin/../src/java/lib/*.jar:/Users/lin/Documents/temp/zookeeper-3.4.12 2/bin/../conf:
2018-05-25 17:27:58,917 [myid:] - INFO [main:Environment@100] - Client environment:java.library.path=/Users/lin/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java:.
2018-05-25 17:27:58,917 [myid:] - INFO [main:Environment@100] - Client environment:java.io.tmpdir=/var/folders/cf/q_dg400d5ql4vxlv7c4h_qvm0000gn/T/
2018-05-25 17:27:58,917 [myid:] - INFO [main:Environment@100] - Client environment:java.compiler=<NA>
2018-05-25 17:27:58,917 [myid:] - INFO [main:Environment@100] - Client environment:os.name=Mac OS X
2018-05-25 17:27:58,917 [myid:] - INFO [main:Environment@100] - Client environment:os.arch=x86_64
2018-05-25 17:27:58,917 [myid:] - INFO [main:Environment@100] - Client environment:os.version=10.11.3
2018-05-25 17:27:58,918 [myid:] - INFO [main:Environment@100] - Client environment:user.name=lin
2018-05-25 17:27:58,918 [myid:] - INFO [main:Environment@100] - Client environment:user.home=/Users/lin
2018-05-25 17:27:58,918 [myid:] - INFO [main:Environment@100] - Client environment:user.dir=/Users/lin/Documents/temp/zookeeper-3.4.12 2/bin
2018-05-25 17:27:58,919 [myid:] - INFO [main:ZooKeeper@441] - Initiating client connection, connectString=localhost:2181 sessionTimeout=30000 watcher=org.apache.zookeeper.ZooKeeperMain$MyWatcher@5a2e4553
Welcome to ZooKeeper!
2018-05-25 17:27:58,944 [myid:] - INFO [main-SendThread(localhost:2181):ClientCnxn$SendThread@1028] - Opening socket connection to server localhost/127.0.0.1:2181. Will not attempt to authenticate using SASL (unknown error)
JLine support is enabled
2018-05-25 17:27:59,022 [myid:] - INFO [main-SendThread(localhost:2181):ClientCnxn$SendThread@878] - Socket connection established to localhost/127.0.0.1:2181, initiating session
2018-05-25 17:27:59,056 [myid:] - INFO [main-SendThread(localhost:2181):ClientCnxn$SendThread@1302] - Session establishment complete on server localhost/127.0.0.1:2181, sessionid = 0x100448cddc80000, negotiated timeout = 30000
[zk: localhost:2181(CONNECTED) 0]
WATCHER::
WatchedEvent state:SyncConnected type:None path:null
好了客戶端鏈接上服務(wù)器端了俊马。
創(chuàng)建znode節(jié)點,執(zhí)行命令
#創(chuàng)建一個zone節(jié)點node_1 對應(yīng)的value值為“abc”
create /node_1 abc
#控制臺輸出
[zk: localhost:2181(CONNECTED) 5] create /node_1 abc
Created /node_1
查詢創(chuàng)建的znode 節(jié)點
#創(chuàng)建一個zone節(jié)點node_1 對應(yīng)的value值為“abc”
get /node_1
#控制臺輸出
[zk: localhost:2181(CONNECTED) 6] get /node_1
abc
cZxid = 0x9
ctime = Fri May 25 19:00:02 CST 2018
mZxid = 0x9
mtime = Fri May 25 19:00:02 CST 2018
pZxid = 0x9
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 3
numChildren = 0
zookeeper 常用命令總結(jié)
#服務(wù)命令
1. 啟動ZK服務(wù): sh bin/zkServer.sh start
2. 查看ZK服務(wù)狀態(tài): sh bin/zkServer.sh status
3. 停止ZK服務(wù): sh bin/zkServer.sh stop
4. 重啟ZK服務(wù): sh bin/zkServer.sh restart
#客戶端命令
1. 顯示根目錄下肩杈、文件: ls / 使用 ls 命令來查看當(dāng)前 ZooKeeper 中所包含的內(nèi)容
2. 顯示根目錄下柴我、文件: ls2 / 查看當(dāng)前節(jié)點數(shù)據(jù)并能看到更新次數(shù)等數(shù)據(jù)
3. 創(chuàng)建文件,并設(shè)置初始內(nèi)容: create /node_1 "test" 創(chuàng)建一個新的 znode節(jié)點“ node_1 ”以及與它關(guān)聯(lián)的字符串
4. 獲取文件內(nèi)容: get /node_1 確認 znode 是否包含我們所創(chuàng)建的字符串
5. 修改文件內(nèi)容: set /node_1 "zkbak" 對 zk 所關(guān)聯(lián)的字符串進行設(shè)置
6. 刪除文件: delete /node_1 將剛才創(chuàng)建的 zone 刪除
7. 退出客戶端: quit
8. 幫助命令: help
關(guān)注我們
更多精彩內(nèi)容請關(guān)注“IT實戰(zhàn)聯(lián)盟”公眾號扩然,也可以加入交流群和作者互撩哦~~~
IT實戰(zhàn)聯(lián)盟.jpg