1.下载Zookeeper安装包
https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.4.10/
2.zookeeper集群规划
主机名称IP部署软件
node01 192.168.75.150 zookeeper
node02 192.168.75.151 zookeeper
node03 192.168.75.152 zookeeper
一共部署三台机器,每台机器启动一个zookeeper进程
3.使用root用户分别登录三台机机器
切换到hadoop用户
su hadoop
进入到hadoop用户的家目录下
cd /home/hadoop
创建apps目录用于存放所有以后需要安装的软件
mkdir apps
进入到apps目录
cd ./apps
4.上传zookeeper安装包
使用rz命令上传zookeeper安装包
5.解压安装包
tar -zxvf zookeeper-3.4.10.tar.gz
退出hadoop用户切换到root用户,输入exit按回车
6.创建软连接
使用root用户操作
语法:ln -s源路径 软连接路径
ln -s /home/hadoop/apps/zookeeper-3.4.10 /usr/local/zookeeper
7.修改环境变量
使用root用户操作
vim /etc/profile
export JAVA_HOME=/usr/local/jdk
export ZOOKEEPER_HOME=/usr/local/zookeeper
export PATH=$PATH:${ZOOKEEPER_HOME}/bin:${JAVA_HOME}/bin
8.重新编译环境变量
使用root用户操作
source /etc/profile
9.修改zookeeper软链接属主为hadoop
使用root用户操作
chown -R hadoop:hadoop /usr/local/zookeeper
10.切换到hadoop用户
su hadoop
11.修改zookeeper配置文件
cd /usr/local/zookeeper/conf
拷贝样例配置文件并重命名zoo.cfg
cp zoo_sample.cfg zoo.cfg
编辑zoo.cfg文件
vim zoo.cfg
添加内容
dataDir=/usr/local/zookeeper/data #快照文件存储目录
dataLogDir=/usr/local/zookeeper/log #事务日志文件目录
#注意node01、node02、node03是安装zookeeper的主机名,根据自己的虚拟机自行修改
server.1=node01:2888:3888 (主机名,心跳端口、数据端口)
server.2=node02:2888:3888
server.3=node03:2888:3888
12.创建data、log目录,只有hadoop用户具有写权限
在/usr/local/zookeeper目录下创建
mkdir -m 755 data
mkdir -m 755 log
13.在data文件夹下新建myid文件,myid的文件内容为该节点的编号
cd data
创建myid文件
touch myid
添加编号1
echo 1 > myid
14.通过scp将安装包拷贝到其他两个节点node02和node03的/home/hadoop/apps目录下,提前在node02和node03创建好/home/hadoop/apps目录
scp -r /home/hadoop/apps/zookeeper-3.4.10 hadoop@node02:/home/hadoop/apps
scp -r /home/hadoop/apps/zookeeper-3.4.10hadoop@node03:/home/hadoop/apps
分别创软链接参考步骤6和添加环境变量参考步骤7,步骤8,步骤9
15.修改其他节点的myid
node02的myid文件内容是2
node03的myid文件内容是3
16.启动
/usr/local/zookeeper/bin/zkServer.sh start
查看zk状态
zkServer.sh status
进行客户端测试
首先看下创建znode和获取命令:
Create Znode:
Syntax
create /path /data
Sample
create /FirstZnode “Myfirstzookeeper-app”
Get Data:
Syntax
get /path
Sample
get /FirstZnode
监控节点:
Watch
Watches show a notification when the specified znode or znode’s children data changes. You can set a watch only in get command.
Syntax
get /path [watch] 1
Sample
get /FirstZnode 1
关闭命令
/usr/local/zookeeper/bin/zkServer.sh stop
参考zk命令资料: