Hadoop生態圈-zookeeper本地搭建以及經常使用命令介紹java
做者:尹正傑apache
版權聲明:原創做品,謝絕轉載!不然將追究法律責任。api
一.下載zookeeper軟件session
下載地址:https://www.apache.org/dyn/closer.cgi/zookeeper/socket
二.安裝zookeepertcp
1>.解壓源文件ide
[yinzhengjie@s101 ~]$ tar zxf zookeeper-3.4.12.tar.gz -C /soft/
2>.建立軟鏈接oop
[yinzhengjie@s101 ~]$ ln -s /soft/zookeeper-3.4.12/ /soft/zk
3>.配置環境變量ui
[yinzhengjie@s101 ~]$ tail -3 /etc/profile #ADD zooKeeper ZOOKEEPER=/soft/zk PATH=$PATH:$ZOOKEEPER/bin [yinzhengjie@s101 ~]$
4>.使配置的環境變量生效spa
[yinzhengjie@s101 ~]$ source /etc/profile
三.啓動zookeeper服務
1>.建立出zookeeper配置文件(咱們這裏直接把配置文件拷貝過來就好)
[yinzhengjie@s101 ~]$ cp /soft/zk/conf/zoo_sample.cfg /soft/zk/conf/zoo.cfg
2>.啓動zookeeper
[yinzhengjie@s101 ~]$ zkServer.sh start ZooKeeper JMX enabled by default Using config: /soft/zk/bin/../conf/zoo.cfg Starting zookeeper ... STARTED [yinzhengjie@s101 ~]$
3>.檢查是否啓動成功
[yinzhengjie@s101 ~]$ netstat -untalp | grep 2181 (Not all processes could be identified, non-owned process info will not be shown, you would have to be root to see it all.) tcp6 0 0 :::2181 :::* LISTEN 2377/java [yinzhengjie@s101 ~]$
4>.啓動成功後zookeeper有個QuorumPeerMain進程
[yinzhengjie@s101 ~]$ jps 2377 QuorumPeerMain 2396 Jps [yinzhengjie@s101 ~]$
四.zookeeper服務端腳本用法
1>.查看服務的狀態,咱們這是本地模式,顯示的狀態爲standalone
[yinzhengjie@s101 ~]$ zkServer.sh status ZooKeeper JMX enabled by default Using config: /soft/zk/bin/../conf/zoo.cfg Mode: standalone [yinzhengjie@s101 ~]$
2>.重啓zookeeper服務
[yinzhengjie@s101 ~]$ zkServer.sh restart ZooKeeper JMX enabled by default Using config: /soft/zk/bin/../conf/zoo.cfg ZooKeeper JMX enabled by default Using config: /soft/zk/bin/../conf/zoo.cfg Stopping zookeeper ... STOPPED ZooKeeper JMX enabled by default Using config: /soft/zk/bin/../conf/zoo.cfg Starting zookeeper ... STARTED [yinzhengjie@s101 ~]$
3>.中止zookeeper服務
[yinzhengjie@s101 ~]$ zkServer.sh stop ZooKeeper JMX enabled by default Using config: /soft/zk/bin/../conf/zoo.cfg Stopping zookeeper ... STOPPED [yinzhengjie@s101 ~]$
4>.zookeeper服務端的其餘用法
[yinzhengjie@s101 ~]$ zkServer.sh ZooKeeper JMX enabled by default Using config: /soft/zk/bin/../conf/zoo.cfg Usage: /soft/zk/bin/zkServer.sh {start|start-foreground|stop|restart|status|upgrade|print-cmd} [yinzhengjie@s101 ~]$
五.zookeeper客戶端腳本用法
1>.鏈接客戶端(鏈接成功後須要敲回車執行你須要執行的命令喲!,若是隻鏈接本地的zookeeper的話,直接在命令行輸入zkCli.sh便可)
[yinzhengjie@s101 ~]$ zkCli.sh -server localhost:2181 Connecting to localhost:2181 2018-05-28 20:36:33,351 [myid:] - INFO [main:Environment@100] - Client environment:zookeeper.version=3.4.12-e5259e437540f349646870ea94dc2658c4e44b3b, built on 03/27/2018 03:55 GMT 2018-05-28 20:36:33,354 [myid:] - INFO [main:Environment@100] - Client environment:host.name=s101 2018-05-28 20:36:33,354 [myid:] - INFO [main:Environment@100] - Client environment:java.version=1.8.0_131 2018-05-28 20:36:33,356 [myid:] - INFO [main:Environment@100] - Client environment:java.vendor=Oracle Corporation 2018-05-28 20:36:33,356 [myid:] - INFO [main:Environment@100] - Client environment:java.home=/soft/jdk1.8.0_131/jre 2018-05-28 20:36:33,356 [myid:] - INFO [main:Environment@100] - Client environment:java.class.path=/soft/zk/bin/../build/classes:/soft/zk/bin/../build/lib/*.jar:/soft/zk/bin/../lib/slf4j-log4j12-1.7.25.jar:/soft/zk/bin/../lib/slf4j-api-1.7.25.jar:/soft/zk/bin/../lib/netty-3.10.6.Final.jar:/soft/zk/bin/../lib/log4j-1.2.17.jar:/soft/zk/bin/../lib/jline-0.9.94.jar:/soft/zk/bin/../lib/audience-annotations-0.5.0.jar:/soft/zk/bin/../zookeeper-3.4.12.jar:/soft/zk/bin/../src/java/lib/*.jar:/soft/zk/bin/../conf: 2018-05-28 20:36:33,356 [myid:] - INFO [main:Environment@100] - Client environment:java.library.path=/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib 2018-05-28 20:36:33,357 [myid:] - INFO [main:Environment@100] - Client environment:java.io.tmpdir=/tmp 2018-05-28 20:36:33,357 [myid:] - INFO [main:Environment@100] - Client environment:java.compiler=<NA> 2018-05-28 20:36:33,357 [myid:] - INFO [main:Environment@100] - Client environment:os.name=Linux 2018-05-28 20:36:33,357 [myid:] - INFO [main:Environment@100] - Client environment:os.arch=amd64 2018-05-28 20:36:33,357 [myid:] - INFO [main:Environment@100] - Client environment:os.version=3.10.0-327.el7.x86_64 2018-05-28 20:36:33,357 [myid:] - INFO [main:Environment@100] - Client environment:user.name=yinzhengjie 2018-05-28 20:36:33,357 [myid:] - INFO [main:Environment@100] - Client environment:user.home=/home/yinzhengjie 2018-05-28 20:36:33,357 [myid:] - INFO [main:Environment@100] - Client environment:user.dir=/home/yinzhengjie 2018-05-28 20:36:33,358 [myid:] - INFO [main:ZooKeeper@441] - Initiating client connection, connectString=localhost:2181 sessionTimeout=30000 watcher=org.apache.zookeeper.ZooKeeperMain$MyWatcher@277050dc Welcome to ZooKeeper! 2018-05-28 20:36:33,378 [myid:] - INFO [main-SendThread(localhost:2181):ClientCnxn$SendThread@1028] - Opening socket connection to server localhost/0:0:0:0:0:0:0:1:2181. Will not attempt to authenticate using SASL (unknown error) JLine support is enabled 2018-05-28 20:36:33,439 [myid:] - INFO [main-SendThread(localhost:2181):ClientCnxn$SendThread@878] - Socket connection established to localhost/0:0:0:0:0:0:0:1:2181, initiating session 2018-05-28 20:36:33,446 [myid:] - INFO [main-SendThread(localhost:2181):ClientCnxn$SendThread@1302] - Session establishment complete on server localhost/0:0:0:0:0:0:0:1:2181, sessionid = 0x10000b217fa0001, negotiated timeout = 30000 WATCHER:: WatchedEvent state:SyncConnected type:None path:null [zk: localhost:2181(CONNECTED) 0] [zk: localhost:2181(CONNECTED) 0]
2>.查看幫助信息(其實你輸入任何一條沒有特殊含義的指令都會彈出幫助信息喲)
[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]
3>.列出"/"下的節點
[zk: localhost:2181(CONNECTED) 2] ls / [zookeeper] [zk: localhost:2181(CONNECTED) 3]
4>.建立「name」節點,並添加數據「yinzhengjie」
[zk: localhost:2181(CONNECTED) 3] create /name yinzhengjie Created /name [zk: localhost:2181(CONNECTED) 4]
5>.建立空節點
[zk: localhost:2181(CONNECTED) 4] create /hadoop '' Created /hadoop [zk: localhost:2181(CONNECTED) 5]
6>.查看「/name」節點的數據
[zk: localhost:2181(CONNECTED) 5] get /name yinzhengjie cZxid = 0x900000009 //(create)節點建立事務的id ctime = Thu May 31 08:47:48 CST 2018 //建立時間 mZxid = 0x900000009 //(modify)節點修改事務的id mtime = Thu May 31 08:47:48 CST 2018 //(modify)時間,噹噹前節點被修改時時間會跟着變化 pZxid = 0x900000009 //最新子節點的CZxid cversion = 0 //建立的版本號 dataVersion = 0 //刪除時指定此版本 aclVersion = 0 //ACL : Access Control List ephemeralOwner = 0x0 //臨時擁有者 dataLength = 0 //數據長度 numChildren = 0 //子節點個數 [zk: localhost:2181(CONNECTED) 6]
7>.設置根節點數據爲「yinzhengjie」
[zk: localhost:2181(CONNECTED) 6] set / yinzhengjie cZxid = 0x0 ctime = Wed Dec 31 16:00:00 PST 1969 mZxid = 0xa mtime = Mon May 28 20:43:47 PDT 2018 pZxid = 0x9 cversion = 1 dataVersion = 1 aclVersion = 0 ephemeralOwner = 0x0 dataLength = 11 numChildren = 3 [zk: localhost:2181(CONNECTED) 7]
8>.刪除單個節點
[zk: localhost:2181(CONNECTED) 7] ls / [name, hadoop, zookeeper] [zk: localhost:2181(CONNECTED) 8] ls /hadoop [] [zk: localhost:2181(CONNECTED) 9] delete /hadoop [zk: localhost:2181(CONNECTED) 10] [zk: localhost:2181(CONNECTED) 10] ls / [name, zookeeper] [zk: localhost:2181(CONNECTED) 11]
9>.遞歸刪除節點
[zk: localhost:2181(CONNECTED) 17] ls / [name, zookeeper] [zk: localhost:2181(CONNECTED) 18] [zk: localhost:2181(CONNECTED) 18] create /name/zookeeper zk Created /name/zookeeper [zk: localhost:2181(CONNECTED) 19] ls / [name, zookeeper] [zk: localhost:2181(CONNECTED) 20] ls /name [zookeeper] [zk: localhost:2181(CONNECTED) 21] [zk: localhost:2181(CONNECTED) 21] rmr /name [zk: localhost:2181(CONNECTED) 22] [zk: localhost:2181(CONNECTED) 22] ls / [zookeeper] [zk: localhost:2181(CONNECTED) 23]
10>.退出客戶端程序
[zk: localhost:2181(CONNECTED) 23] quit Quitting... 2018-05-28 20:50:21,796 [myid:] - INFO [main:ZooKeeper@687] - Session: 0x10000b217fa0004 closed 2018-05-28 20:50:21,798 [myid:] - INFO [main-EventThread:ClientCnxn$EventThread@521] - EventThread shut down for session: 0x10000b217fa0004 [yinzhengjie@s101 ~]$ [yinzhengjie@s101 ~]$
六.配置文件簡介
1>.日誌文件(zookeeper.out)
2>.核心配置文件(/soft/zk/conf/zoo.cfg)