目录
- 下载地址
- 下载目标
- 解压后目录结构
- 配置文件
- 配置文件详情
- 伪分布式安装Linux
- ZooKeeper audit is disabled
- 启动
- 解决报错:SLF4J: Class path contains multiple SLF4J bindings. _
下载地址
https://zookeeper.apache.org/releases.html
下载目标
记住选择带bin的。
从版本3.5.5开始,带有bin名称的包才是我们想要的下载可以直接使用的里面有编译后的二进制的包,而之前的普通的tar.gz的包里面是只是源码的包无法直接使用。不然会爆:
错误: 找不到或无法加载主类 org.apache.zookeeper.server.quorum.QuorumPeerMain
解压后目录结构
- bin目录
zk的可执行脚本目录,包括zk服务进程,zk客户端,等脚本。其中,.sh是Linux环境下的脚本,.cmd是Windows环境下的脚本。 - conf目录
配置文件目录。zoo_sample.cfg为样例配置文件,需要修改为自己的名称,一般为zoo.cfg。log4j.properties为日志配置文件。 - lib
zk依赖的包。 - contrib目录
一些用于操作zk的工具包。 - recipes目录
zk某些用法的代码示例
配置文件
配置文件详情
#session的会话时间 以ms为单位
tickTime=2000
#服务器启动以后,master和slave通讯的时间
initLimit=10
#master和slave之间的心跳检测时间,检测slave是否存活
syncLimit=5
#(这个目录可以自行指定)
dataDir=/zookeeper/zk1
#dataLogDir=/tmp/zookeeper(修改为自己的目录)
#客户端访问zk的端口
clientPort=2181
#master对应于前面在hosts里面配置的主机映射 2888是数据同步和消息传递端口,3888是选举端口
server.1=master:2888:3888
#master对应于前面在hosts里面配置的主机映射 2889是数据同步和消息传递端口,3889是选举端口 server.2=master:2889:3889 #master对应于前面在hosts里面配置的主机映射 2890是数据同步和消息传递端口,3890是选举端口 server.3=master:2890:3890
主要修改项为dataDir和dataLogDir,dataDir是zookeeper存放数据的地方,dataLogDir是存放zookeeper日志的地方。
如果只配置dataDir,则数据和日志都会创建在dataDir目录下。默认情况下zookeeper会占有8080端口,如果你不想8080端口被占用,增加一行admin.serverPort=8082,指定你自己的端口。
伪分布式安装Linux
https://www.cnblogs.com/leeSmall/p/9563547.html
ZooKeeper audit is disabled
修改后再次运行,出现ZooKeeper audit is disabled,
- 修改zkServer.cmd 添加
“-Dzookeeper.audit.enable=true”
- 或zoo.cfg新增一行
audit.enable=true
启动
启动zookeeper服务端
- 用cmd进入我们zookeeper的bin目录。
- 输入zkServer.cmd
再启动客户端。
- 双击zkCli.cmd
解决报错:SLF4J: Class path contains multiple SLF4J bindings. _
SLF4J: Class path contains multiple SLF4J bindings.警告解决
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
<version>3.7.0</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>
</exclusions>
</dependency>