02. Zookeeper 安装-单实例环境
Zookeeper 安装-单实例环境
·
生产环境下的Zookeeper 往往都是集群环境, 集群节点个数通常为3,5,7,9… 但是在开发和测试环境下, 单实例环境就可以满足需求.
1. Zookeeper 安装包
- 下载地址: http://zookeeper.apache.org/releases.html
配置/脚本 | 用途 |
---|---|
bin/zkEnv.sh | zookeeper 的环境配置脚本 |
bin/zkServer.sh | zookeeper 的启动管理脚本 |
bin/zkCli.sh | zookeeper的客户端连接脚本 |
conf/zoo.cfg | zookeeper 的核心配置文件, 需要手工创建 |
conf/log4j.properties | zookeeper 的日志输出格式配置文件, zookeeper使用log4j 输出日志 |
2. Zookeeper 单实例安装
zookeeper 安装方式比较简单的, 解压二进制包即可. 启动Zookeeper 服务之前, 我们需先对Zookeeper 相关目录做一下规划, 这些目录需手工创建.
目录 | 用途 |
---|---|
/opt/app/zookeeper/zookeeper-3.4.11 | zookeeper 安装家目录 |
/data/zookeeper | zookeeper 数据存放目录 |
/data/logs/zookeeper | zookeeper 日志存放目录 |
2.1 安装zookeeper
$ tar -zxf zookeeper-3.4.11.tar.gz -C /opt/app/zookeeper
2.2 创建配置文件zoo.cfg
zookeeper 默认使用conf目录下的zoo.cfg 配置文件, 复制conf/zoo_example.cfg或手工创建: vim conf/zoo.cfg
# 单位时间, 毫秒
tickTime=2000
#集群中follwer节点与leader 节点初始化连接超时时间,单位为tickTime
initLimit=10
#集群中follwer节点与leader节点之前请求-响应超时时间,单位为tickTime
syncLimit=5
#数据操作日志存放目录
dataLogDir=/var/data/zookeeper/datalogs
#客户端连接端口
clientPort=2181
2.3 修改启动日志文件
- zookeeper 启动时,默认会在你执行命令的当前目录创建一个zookeeper.out 日志文件, 而且zoo.cfg 的配置文件中并不能修改zookeeper启动日志文件位置, 只能通过修改 bin/zkEnv.sh 脚本中的设置
- 将 bin/zkEnv.sh 中第一行添加变量 ZOO_LOG_DIR 值为: /var/logs/zookeeper/zklogs
ZOO_LOG_DIR=/data/logs/zookeeper
2.4 修改log4j 配置
zookeeper 默认使用log4j 打印日志, log4j 的配置文件在conf 目录下, 可以按需修改log4j 的日志打印信息
3. Zookeeper 服务管理
zookeeper 的相关命令都在bin 目录下, 启动停止是通过zkServer.sh 来完成
3.1 启动zookeeper
$ ./bin/zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /opt/app/zookeeper/zookeeper-3.4.11/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
3.2 查看zookeeper状态
$ ./bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/app/zookeeper/zookeeper-3.4.11/bin/../conf/zoo.cfg
Mode: standalone # 单例模式
3.3 重启zookeeper
$ ./bin/zkServer.sh restart
ZooKeeper JMX enabled by default
Using config: /opt/app/zookeeper/zookeeper-3.4.11/bin/../conf/zoo.cfg
ZooKeeper JMX enabled by default
Using config: /opt/app/zookeeper/zookeeper-3.4.11/bin/../conf/zoo.cfg
Stopping zookeeper ... STOPPED
ZooKeeper JMX enabled by default
Using config: /opt/app/zookeeper/zookeeper-3.4.11/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
3.4 停止zookeeper
$ ./bin/zkServer.sh stop
ZooKeeper JMX enabled by default
Using config: /opt/app/zookeeper/zookeeper-3.4.11/bin/../conf/zoo.cfg
Stopping zookeeper ... STOPPED
3.5 查看zookeeper 进程
$ jps -l | grep zookeeper
28054 org.apache.zookeeper.server.quorum.QuorumPeerMain
4. 客户端连接
- 使用 zkCli.sh 执行命令时, 有两种方式: 交互式方式和非交互式方式, 其中非交互式只能执行单条命令.
- 默认情况下, zkCli.sh 连接的是本地2181 zk服务器, 可通过-server 参数指定zk服务器的ip 和端口号.
4.1 交互式执行命令
交互式方式中命令提示符格式: 命令提示符由zk服务ip, 端口号, 连接状态, 当前会话执行命令计数器组成.
$ ./zkCli.sh
Connecting to localhost:2181
日志信息...
[zk: localhost:2181(CONNECTED) 0]
4.2 非交互式执行命令
zkcli.sh 脚本可直接跟需要执行的命令, 无须使用引号包裹, 但只能执行单挑命令.
$ ./zkCli.sh -server 172.22.85.226:2181 ls2 /zookeeper
# 省略启动日志...
[quota]
cZxid = 0x0
ctime = Thu Jan 01 08:00:00 CST 1970
mZxid = 0x0
mtime = Thu Jan 01 08:00:00 CST 1970
pZxid = 0x0
cversion = -1
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 0
numChildren = 1
更多推荐
已为社区贡献4条内容
所有评论(0)