Linux下搭建Zookeeper

ZooKeeper是一種分佈式協調服務,用於管理大型主機。在分佈式環境中協調和管理服務是一個複雜的過程。ZooKeeper通過其簡單的架構和API解決了這個問題。ZooKeeper允許開發人員專注於核心應用程序邏輯,而不必擔心應用程序的分佈式特性。

  1. 下載資源並解壓縮
    使用wget下載zookeeper到指定的目錄下。
wget -P /usr/local https://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz

其中的-P 後面攜帶的是路徑。
查看zookeeper的鏡像

接着進行解壓

tar -zxvf zookeeper-3.4.14.tar.gz
  1. 創建data目錄
    在zookeeper目錄下創建一個data文件夾,用來存放輸出日誌
mkdir data
[root@VM_0_15_centos zookeeper-3.4.14]# ll
total 1720
drwxr-xr-x  2 2002 2002    4096 Mar  7  2019 bin
-rw-rw-r--  1 2002 2002   97426 Mar  7  2019 build.xml
drwxr-xr-x  2 2002 2002    4096 Mar  7  2019 conf
drwxrwxr-x  2 root root    4096 Mar 18 22:42 data
drwxr-xr-x  2 2002 2002    4096 Mar  7  2019 dist-maven
-rw-rw-r--  1 2002 2002    1709 Mar  7  2019 ivysettings.xml
-rw-rw-r--  1 2002 2002   10742 Mar  7  2019 ivy.xml
drwxr-xr-x  4 2002 2002    4096 Mar  7  2019 lib
-rw-rw-r--  1 2002 2002   11970 Mar  7  2019 LICENSE.txt
-rw-rw-r--  1 2002 2002    3132 Mar  7  2019 NOTICE.txt
-rw-rw-r--  1 2002 2002   31622 Mar  7  2019 pom.xml
-rw-rw-r--  1 2002 2002    1765 Mar  7  2019 README.md
-rw-rw-r--  1 2002 2002    1770 Mar  7  2019 README_packaging.txt
drwxr-xr-x  3 2002 2002    4096 Mar  7  2019 src
-rw-rw-r--  1 2002 2002 1515359 Mar  7  2019 zookeeper-3.4.14.jar
-rw-rw-r--  1 2002 2002     836 Mar  7  2019 zookeeper-3.4.14.jar.asc
-rw-rw-r--  1 2002 2002      33 Mar  7  2019 zookeeper-3.4.14.jar.md5
-rw-rw-r--  1 2002 2002      41 Mar  7  2019 zookeeper-3.4.14.jar.sha1
drwxr-xr-x  3 2002 2002    4096 Mar  7  2019 zookeeper-client
drwxr-xr-x 12 2002 2002    4096 Mar  7  2019 zookeeper-contrib
drwxr-xr-x  7 2002 2002    4096 Mar  7  2019 zookeeper-docs
drwxr-xr-x  3 2002 2002    4096 Mar  7  2019 zookeeper-it
drwxr-xr-x  4 2002 2002    4096 Mar  7  2019 zookeeper-jute
drwxr-xr-x  5 2002 2002    4096 Mar  7  2019 zookeeper-recipes
drwxr-xr-x  3 2002 2002    4096 Mar  7  2019 zookeeper-server

  1. 修改zoo.cfg配置文件
    進入到conf目錄下,拷貝zoo_sample.cfg重命名未zoo.cfg
cp zoo_sample.cfg zoo.cfg

接着用vim命令修改其中的dataDir參數,對應上述新建的data目錄。
如果想修改對應的端口號,也可以通過修改clientPort。

dataDir=/usr/local/zookeeper-3.4.14/data
clientPort=2181
  1. 常用的命令
    進入到zookeeper的目錄下,操作bin/zkServer.sh。
    (1)啓動
[root@VM_0_15_centos zookeeper-3.4.14]# bin/zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper-3.4.14/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

(2)重啓

[root@VM_0_15_centos zookeeper-3.4.14]# bin/zkServer.sh restart
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper-3.4.14/bin/../conf/zoo.cfg
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper-3.4.14/bin/../conf/zoo.cfg
Stopping zookeeper ... STOPPED
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper-3.4.14/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

(3)查看狀態

[root@VM_0_15_centos zookeeper-3.4.14]# bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper-3.4.14/bin/../conf/zoo.cfg
Mode: standalone

(4)停止

[root@VM_0_15_centos zookeeper-3.4.14]# bin/zkServer.sh stop
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper-3.4.14/bin/../conf/zoo.cfg
Stopping zookeeper ... STOPPED

(5)客戶端登錄

[root@VM_0_15_centos zookeeper-3.4.14]# bin/zkCli.sh -server 127.0.0.1:2181
Connecting to 127.0.0.1:2181
2020-03-18 23:09:00,106 [myid:] - INFO  [main:Environment@100] - Client environment:zookeeper.version=3.4.14-4c25d480e66aadd371de8bd2fd8da255ac140bcf, built on 03/06/2019 16:18 GMT
2020-03-18 23:09:00,110 [myid:] - INFO  [main:Environment@100] - Client environment:host.name=VM_0_15_centos
2020-03-18 23:09:00,111 [myid:] - INFO  [main:Environment@100] - Client environment:java.version=1.8.0_201
2020-03-18 23:09:00,113 [myid:] - INFO  [main:Environment@100] - Client environment:java.vendor=Oracle Corporation
2020-03-18 23:09:00,113 [myid:] - INFO  [main:Environment@100] - Client environment:java.home=/usr/local/java/jdk1.8.0_201/jre
2020-03-18 23:09:00,113 [myid:] - INFO  [main:Environment@100] - Client environment:java.class.path=/usr/local/zookeeper-3.4.14/bin/../zookeeper-server/target/classes:/usr/local/zookeeper-3.4.14/bin/../build/classes:/usr/local/zookeeper-3.4.14/bin/../zookeeper-server/target/lib/*.jar:/usr/local/zookeeper-3.4.14/bin/../build/lib/*.jar:/usr/local/zookeeper-3.4.14/bin/../lib/slf4j-log4j12-1.7.25.jar:/usr/local/zookeeper-3.4.14/bin/../lib/slf4j-api-1.7.25.jar:/usr/local/zookeeper-3.4.14/bin/../lib/netty-3.10.6.Final.jar:/usr/local/zookeeper-3.4.14/bin/../lib/log4j-1.2.17.jar:/usr/local/zookeeper-3.4.14/bin/../lib/jline-0.9.94.jar:/usr/local/zookeeper-3.4.14/bin/../lib/audience-annotations-0.5.0.jar:/usr/local/zookeeper-3.4.14/bin/../zookeeper-3.4.14.jar:/usr/local/zookeeper-3.4.14/bin/../zookeeper-server/src/main/resources/lib/*.jar:/usr/local/zookeeper-3.4.14/bin/../conf:
2020-03-18 23:09:00,113 [myid:] - INFO  [main:Environment@100] - Client environment:java.library.path=/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
2020-03-18 23:09:00,113 [myid:] - INFO  [main:Environment@100] - Client environment:java.io.tmpdir=/tmp
2020-03-18 23:09:00,113 [myid:] - INFO  [main:Environment@100] - Client environment:java.compiler=<NA>
2020-03-18 23:09:00,113 [myid:] - INFO  [main:Environment@100] - Client environment:os.name=Linux
2020-03-18 23:09:00,113 [myid:] - INFO  [main:Environment@100] - Client environment:os.arch=amd64
2020-03-18 23:09:00,114 [myid:] - INFO  [main:Environment@100] - Client environment:os.version=3.10.0-514.26.2.el7.x86_64
2020-03-18 23:09:00,114 [myid:] - INFO  [main:Environment@100] - Client environment:user.name=root
2020-03-18 23:09:00,114 [myid:] - INFO  [main:Environment@100] - Client environment:user.home=/root
2020-03-18 23:09:00,114 [myid:] - INFO  [main:Environment@100] - Client environment:user.dir=/usr/local/zookeeper-3.4.14
2020-03-18 23:09:00,115 [myid:] - INFO  [main:ZooKeeper@442] - Initiating client connection, connectString=127.0.0.1:2181 sessionTimeout=30000 watcher=org.apache.zookeeper.ZooKeeperMain$MyWatcher@5ce65a89
2020-03-18 23:09:00,146 [myid:] - INFO  [main-SendThread(VM_0_15_centos:2181):ClientCnxn$SendThread@1025] - Opening socket connection to server VM_0_15_centos/127.0.0.1:2181. Will not attempt to authenticate using SASL (unknown error)
Welcome to ZooKeeper!
JLine support is enabled
2020-03-18 23:09:00,305 [myid:] - INFO  [main-SendThread(VM_0_15_centos:2181):ClientCnxn$SendThread@879] - Socket connection established to VM_0_15_centos/127.0.0.1:2181, initiating session
2020-03-18 23:09:00,377 [myid:] - INFO  [main-SendThread(VM_0_15_centos:2181):ClientCnxn$SendThread@1299] - Session establishment complete on server VM_0_15_centos/127.0.0.1:2181, sessionid = 0x1076e6657eb0000, negotiated timeout = 30000

WATCHER::

WatchedEvent state:SyncConnected type:None path:null
[zk: 127.0.0.1:2181(CONNECTED) 0] 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章