前提条件
阿里云CentOS7安装好jdk,可参 hadoop安装 的jdk安装部分
下载
[hadoop@node1 ~]$ cd softinstall [hadoop@node1 softinstall]$ wget https://archive.apache.org/dist/zookeeper/zookeeper-3.7.1/apache-zookeeper-3.7.1-bin.tar.gz
解压
[hadoop@node1 softinstall]$ ls apache-zookeeper-3.7.1-bin.tar.gz hadoop-3.3.4.tar.gz jdk-8u271-linux-x64.tar.gz [hadoop@node1 softinstall]$ tar -zxvf apache-zookeeper-3.7.1-bin.tar.gz -C ~/soft
查看解压后的文件
[hadoop@node1 softinstall]$ cd ~/soft [hadoop@node1 soft]$ ls apache-zookeeper-3.7.1-bin hadoop-3.3.4 jdk1.8.0_271
配置环境变量
[hadoop@node1 soft]$ sudo nano /etc/profile.d/my_env.sh
末尾添加如下内容
export ZOOKEEPER_HOME=/home/hadoop/soft/apache-zookeeper-3.7.1-bin export PATH=$PATH:$ZOOKEEPER_HOME/bin
让配置生效
source /etc/profile
配置ZooKeeper
[hadoop@node1 soft]$ cd $ZOOKEEPER_HOME/conf [hadoop@node1 conf]$ ls configuration.xsl log4j.properties zoo_sample.cfg [hadoop@node1 conf]$ mv zoo_sample.cfg zoo.cfg [hadoop@node1 conf]$ nano zoo.cfg
修改dataDir的值如下
dataDir=/home/hadoop/soft/apache-zookeeper-3.7.1-bin/zkData
启动ZooKeeper服务
[hadoop@node1 conf]$ zkServer.sh start ZooKeeper JMX enabled by default Using config: /home/hadoop/soft/apache-zookeeper-3.7.1-bin/bin/../conf/zoo.cfg Starting zookeeper ... STARTED
看到Starting zookeeper ... STARTED
输出,说明启动成功
查看进程
[hadoop@node1 conf]$ jps 20178 Jps 18391 QuorumPeerMain
QuorumPeerMain
进程是ZooKeeper服务端的进程。
查看状态
[hadoop@node1 conf]$ zkServer.sh status ZooKeeper JMX enabled by default Using config: /home/hadoop/soft/apache-zookeeper-3.7.1-bin/bin/../conf/zoo.cfg Client port found: 2181. Client address: localhost. Client SSL: false. Mode: standalone
看到Mode为standalone(单机)模式。
ZooKeeper命令行的简单操作
进入客户端
[hadoop@node1 conf]$ zkCli.sh
看到部分输出信息如下
2024-03-28 21:17:48,132 [myid:] - INFO [main:ClientCnxn@1735] - zookeeper.request.timeout value is 0. feature enabled=false Welcome to ZooKeeper! 2024-03-28 21:17:48,166 [myid:localhost:2181] - INFO [main-SendThread(localhost:2181):ClientCnxn$SendThread@1171] - Opening socket connection to server localhost/127.0.0.1:2181. 2024-03-28 21:17:48,167 [myid:localhost:2181] - INFO [main-SendThread(localhost:2181):ClientCnxn$SendThread@1173] - SASL config status: Will not attempt to authenticate using SASL (unknown error) JLine support is enabled 2024-03-28 21:17:48,203 [myid:localhost:2181] - INFO [main-SendThread(localhost:2181):ClientCnxn$SendThread@1005] - Socket connection established, initiating session, client: /127.0.0.1:52730, server: localhost/127.0.0.1:2181 2024-03-28 21:17:48,287 [myid:localhost:2181] - INFO [main-SendThread(localhost:2181):ClientCnxn$SendThread@1446] - Session establishment complete on server localhost/127.0.0.1:2181, session id = 0x10005db0b280000, negotiated timeout = 30000 WATCHER:: WatchedEvent state:SyncConnected type:None path:null [zk: localhost:2181(CONNECTED) 0]
查看帮助
[zk: localhost:2181(CONNECTED) 0] help ZooKeeper -server host:port -client-configuration properties-file cmd args addWatch [-m mode] path # optional mode is one of [PERSISTENT, PERSISTENT_RECURSIVE] - default is PERSISTENT_RECURSIVE addauth scheme auth close config [-c] [-w] [-s] connect host:port create [-s] [-e] [-c] [-t ttl] path [data] [acl] delete [-v version] path deleteall path [-b batch size] delquota [-n|-b|-N|-B] path get [-s] [-w] path getAcl [-s] path getAllChildrenNumber path getEphemerals path history listquota path ls [-s] [-w] [-R] path printwatches on|off quit reconfig [-s] [-v version] [[-file path] | [-members serverID=host:port1:port2;port3[,...]*]] | [-add serverId=host:port1:port2;port3[,...]]* [-remove serverId[,...]*] redo cmdno removewatches path [-c|-d|-a] [-l] set [-s] [-v version] path data setAcl [-s] [-v version] [-R] path acl setquota -n|-b|-N|-B val path stat [-w] path sync path version whoami Command not found: Command not found help
退出客户端
[zk: localhost:2181(CONNECTED) 1] quit WATCHER:: WatchedEvent state:Closed type:None path:null 2024-03-28 21:18:00,150 [myid:] - INFO [main:ZooKeeper@1288] - Session: 0x10005db0b280000 closed 2024-03-28 21:18:00,151 [myid:] - INFO [main-EventThread:ClientCnxn$EventThread@568] - EventThread shut down for session: 0x10005db0b280000 2024-03-28 21:18:00,154 [myid:] - ERROR [main:ServiceUtils@48] - Exiting JVM with code 127
关闭ZooKeeper服务端
[hadoop@node1 conf]$ zkServer.sh stop ZooKeeper JMX enabled by default Using config: /home/hadoop/soft/apache-zookeeper-3.7.1-bin/bin/../conf/zoo.cfg Stopping zookeeper ... STOPPED
查看进程
[hadoop@node1 conf]$ jps 20493 Jps
发现ZooKeeper服务端进程已关闭。
完成!enjoy it!