Zookeeper环境搭建及简单练习

之前简单介绍了Zookeeper,接下来搭建一个Zookeeper的集群环境

本集群使用三个节点,网络环境及jdk安装不再赘述,直接从环境搭建开始

环境搭建

接下来操作在hadoop用户下进行

1. 解压 tar -xzvf zookeeper-3.4.10.tar.gz

2. 由于服务器上不需要其他东西,因此删除掉.txt及.xml文件和doc目录

3. 进入安装目录下的conf目录,复制zoo_sample.cfg并重命名为zoo.cfg    cp zoo_sample.cfg zoo.cfg

4. 修改zoo.cfg:

修改快照文件目录:

dataDir=/usr/local/zookeeper/data

添加日志文件目录:

dataLogDir=/usr/local/zookeeper/log

server.1=node01:2888:3888 (主机名, 心跳端口、数据端口)

server.2=node02:2888:3888

server.3=node03:2888:3888

5. 在安装目录下创建data和log目录

6. 在data目录下创建myid文件  touch myid,myid的内容为从1开始的数字,对应各节点的cfg配置

7. 切换到root用户,创建软链接    ln -s /home/hadoop/zookeeper-3.4.10 /usr/local/zookeeper

单节点配置完成,把配好的安装目录复制到其他节点  scp -r /home/hadoop/zookeeper-3.4.10 hadoop@node02:/home/hadoop

分别在对应的节点创建软链接及修改myid,修改环境变量(root用户)

vim /etc/profile

增加export ZOOKEEPER_HOME=/usr/local/zookeeper,在path中追加ZOOKEEPER_HOME指向Bin,并编译

配置完成,分别启动各节点的zookeeper

/usr/local/zookeeper/bin/zkServer.sh start

检查状态:/usr/local/zookeeper/bin/zkServer.sh status

其中有follower,有leader为启动成功

简单练习

zookeeper登录可以使用bin目录下的zkCli.sh

运行./zkCli.sh

help命令可查看zookeeper所提供的一些命令


Zookeeper环境搭建及简单练习_第1张图片
help命令截图

创建节点: create /zktest 123即可在根目录下创建zktest并在节点中存123数据


Zookeeper环境搭建及简单练习_第2张图片
创建节点并查看

查看节点数据: get /zktest


Zookeeper环境搭建及简单练习_第3张图片
查看节点数据

显示的包括数据内容、版本号、创建时间等详细信息

创建监听事件(监听数据变化) get /zktest watch

在另外节点连接zookeeper,修改节点数据:set /zktest 3456

在本节点会看到监听事件


Zookeeper环境搭建及简单练习_第4张图片
创建数据变化监听及数据变化后的显示

可看到在最后出现监听变化,但注意,监听只一次有效,再次修改,这个监听就无效了

创建子节点,可以在之前测试的zktest节点下继续创建子节点,create /zktest/s1 111


创建子节点

顺序子节点的创建为create -s /zktest/ss1 111


创建顺序子节点

可以看到在后边会自动追加若干个0并接1,继续执行上述create操作,则继续2,3...

创建临时节点create -e /zktest/es1 111,临时节点在创建节点的客户端断开连接时会自动删除,可以通过监听节点实现一些功能(ls监听)

删除节点:delete 节点路径,但这样不能删除有子节点的节点,要删除待子节点的节点,可用rmr命令

zookeeper还可对版本进行管理,set命令后可接版本号,如果版本号和当前版本号不一致,则数据不会更新,一致的话会更新数据并对版本号加一

zookeeper常用四字命令

四字命令在telnet 连接使用

conf查看zookeeper运行时的配置信息


Zookeeper环境搭建及简单练习_第5张图片
四字状态conf

cons 输出当前服务器上所有客户端的连接信息

在node01 l连接node02 zkCli.sh -server node02:2181,使用cons查看:


cons查看连接状态,可看到192.168.47.10的连接

stat 输出Zookeeper运行时状态信息


Zookeeper环境搭建及简单练习_第6张图片
stat命令

srvr 与stat命令功能一致,但不会输出客户端的连接情况,仅输出服务器自身的信息

wchs 输出当前服务器管理的Watcher的概要信息

wchc 输出当前服务器管理的Watcher的详细信息

mntr 输出比stat命令更详尽的统计信息

envi 输出Zookeeper所在服务器运行时的环境信息

可以基于zookeeper的上述操作根据不同需求搭建适宜的系统,这些待以后研究,目前的zookeeper主要用于hadoop2.0的搭建及后续环境搭建

你可能感兴趣的:(Zookeeper环境搭建及简单练习)