下载 zookeeper-3.4.12.tar.gz 其他版本 http://archive.apache.org/dist/zookeeper/
1、安装前请确保JAVA环境已经安装完毕。
2、我的安装目录 /opt/modules 可以看到 zookeeper-3.4.12.tar.gz是 root权限的。所以我打算切换到hadoop用户在安装
3、hadoop用户是安装hadoop时创建的
切换命令
[root@localhost modules]# su hadoop
3、由于 zookeeper-3.4.12.tar.gz 的权限是root 所以要改成hadoop用户的
[hadoop@localhost modules]$ sudo chown hadoop:hadoop zookeeper-3.4.12.tar.gz
![](https://i-blog.csdnimg.cn/blog_migrate/2ee858949067f8c7223f318ebd2ce864.png)
4、解压 。由第三步可以看到zookeeper已经属于hadoop的了
[hadoop@localhost modules]$ tar -zxvf zookeeper-3.4.12.tar.gz
![](https://i-blog.csdnimg.cn/blog_migrate/8939d3fce70ece04c5353d9babdc8be7.png)
5、创建 我在根目录下创建了 /data 在到里面创建了一个zookeeper文件。data和logs两个目录就放这里用于存数据和日志
[hadoop@localhost modules]$ mkdir /home/data/zookeeper #创建的zookeeper文件
[hadoop@localhost modules]$ mkdir /home/data/zookeeper/data #存放zookeeper数据
[hadoop@localhost modules]$ mkdir /home/data/zookeeper/logs #存放zookeeper日志
![](https://i-blog.csdnimg.cn/blog_migrate/59e65f6d4b6d3aa993e04373a4e4dee7.png)
6、说明
tickTime=2000 #ZooKeeper使用的基本时间单位(以毫秒为单位)。最小会话超时将是tickTime的两倍。
dataDir= #存储内存数据库快照的位置,以及除非另外指定,否则存储数据库更新的事务日志。
clientPort=2181 #该端口监听客户端连接
7、zookeeper-3.4.12文件下找到conf文件夹,使用cd命令进入该目录,复制zoo_sample.cfg文件,并命名为zoo.cfg
[hadoop@localhost zookeeper-3.4.12]$ cd conf/
[hadoop@localhost conf]$ cp zoo_sample.cfg zoo.cfg
8、设置zoo.cfg文件
[hadoop@localhost conf]$ vim zoo.cfg
dataDir 刚才创建的存放数据的目录
dataLogDir 要是没有就加上去。
9、接下来将zookeeper配置到环境变量中。这时需要root权限。切换到root在修改
[hadoop@localhost modules]$ su #切换到root
Password:
[root@localhost modules]# vim /etc/profile
刷新环境变量,检查是否是你想要设置的目录
[root@localhost ~]# source /etc/profile
[root@localhost ~]# echo $ZOOKEEPER_HOME
切换回hadoop用户
[root@localhost modules]# su hadoop
10、进入bin目录,启动、停止、重启和查看当前节点状态(包括集群角色)
[hadoop@localhost conf]$ cd /opt/modules/zookeeper-3.4.12/bin/
[hadoop@localhost bin]$ ./zkServer.sh start
[hadoop@localhost bin]$ ./zkCli.sh -server 127.0.0.1:2181
#可以看到~
[zk: 127.0.0.1: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: 127.0.0.1:2181(CONNECTED) 1] ls /
[zookeeper]
[zk: 127.0.0.1:2181(CONNECTED) 2] create /zk_test my_data
Created /zk_test
[zk: 127.0.0.1:2181(CONNECTED) 3] ls /
[zookeeper, zk_test]
[zk: 127.0.0.1:2181(CONNECTED) 4] get /zk_test
my_data
cZxid = 0x4
ctime = Wed May 09 12:32:19 CST 2018
mZxid = 0x4
mtime = Wed May 09 12:32:19 CST 2018
pZxid = 0x4
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 7
numChildren = 0
[zk: 127.0.0.1:2181(CONNECTED) 5]
下面有请你出场疯狂操作~
注意:
防火墙必须开启zookeep相应的端口,如上文中的2181端口。