ZooKeeper介绍
- 是一个针对大型分布式系统的可靠协调系统;
- 提供的功能包括:配置维护、名字服务、分布式同步、组服务等;
- 目标就是封装好复杂易出错的关键职务,将简单易用的接口和性能高效、功能稳定的系统提供给用户;
- Zookeeper已经成为Hadoop生态系统中的基础组件。
安装ZooKeeper
1.从ZooKeeper官网下载
下载地址:https://archive.apache.org/dist/zookeeper/
这里我下载的3.5.5bin的版本
原因是:从目前的最新版本3.5.5开始,带有bin名称的包才是我们想要的下载可以直接使用的里面有编译后的二进制的包,而之前的普通的tar.gz的包里面是只是源码的包无法直接使用。
一开始没有下载bin包,使用中出现问题,这里也记录一下
Error: Could not find or load main class org.apache.zookeeper.server.quorum.QuorumPeerMain
2.解压配置
tar -zxf apache-zookeeper-3.5.5-bin.tar.gz -C /usr/myapp
3.在主目录下创建data和logs两个目录用于存储数据和日志:
cd /usr/myapp/apache-zookeeper-3.5.5-bin
mkdir data
mkdir logs
4.配置ZooKeeper
在conf目录下新建zoo.cfg文件,写入以下内容保存:
tickTime=2000
dataDir=/usr/myapp/apache-zookeeper-3.5.5-bin/data
dataLogDir=/usr/myapp/apache-zookeeper-3.5.5-bin/logs
clientPort=2181
tickTime 单位为微秒,用于session注册和客户端和ZooKeeper服务的心跳周期。session超时时长最小为 tickTime的两倍
dataDir ZooKeeper的状态存储位置,看名字就知道书数据目录。在你的系统中检查这个目录是否存在,如果不存在手动创建,并且给予可写权限。
clientPort 客户端连接的端口。不同的服务器可以设置不同的监听端口,默认是2181
5.启动停止ZooKeeper
进入bin目录,启动、停止、重启分和查看当前节点状态(包括集群中是何角色)别执行:
./zkServer.sh start
./zkServer.sh stop
./zkServer.sh restart
./zkServer.sh status
6.使用zkCli连接ZooKeeper(在bin目录下)
zkCli.sh -server localhost:2181
连接成功后可以使用如下命令: