我使用的安装文件是 apache-zookeeper-3.6.0-bin.tar.gz ,以下内容均以此版本进行说明。
1.安装配置
- 在安装包所在文件夹下解压并移动到 /usr/local/ 文件夹下
tar -zxvf apache-zookeeper-3.6.0-bin.tar.gz
mv ./apache-zookeeper-3.6.0-bin/ /usr/local/zookeeper
- 配置环境变量
配置环境变量的方法比较多,这里统一将环境变量放在 /etc/profile.d/my_env.sh 内。
# 配置环境变量:
vim /etc/profile.d/my_env.sh
# 添加 ZOOKEEPER_HOME 和 PATH
export ZOOKEEPER_HOME=/usr/local/zookeeper
export PATH=$PATH:$ZOOKEEPER_HOME/bin
# 使得配置的环境变量立即生效:
# 首先是要赋权限【只操作一次就行】
chmod +x /etc/profile.d/my_env.sh
source /etc/profile.d/my_env.sh
- 修改配置
进入${ZOOKEEPER_HOME}/conf/ 目录下,拷贝配置样本并进行修改:
指定数据存储目录和日志文件目录(目录不用预先创建,程序会自动创建),修改后完整配置如下:
[email protected] conf]# vim zoo.cfg
# 无关注释不再贴出
# 主要是配置这两个文件夹【默认也是可以的 为了日后的卸载及查看日志 设置一下比较好】
dataDir=/usr/local/zookeeper/data
dataLogDir=/usr/local/zookeeper/log
# 以下是默认值
tickTime=2000
initLimit=10
syncLimit=5
clientPort=2181
配置参数说明:
- tickTime:用于计算的基础时间单元。比如 session 超时:N*tickTime;
- initLimit:用于集群,允许从节点连接并同步到 master 节点的初始化连接时间,以tickTime 的倍数来表示;
- syncLimit:用于集群, master 主节点与从节点之间发送消息,请求和应答时间长度(心跳机制);
- dataDir:数据存储位置;
- dataLogDir:日志目录;
- clientPort:用于客户端连接的端口,默认 2181
2.启动验证
由于已经配置过环境变量,直接使用下面命令启动即可:
[[email protected] /]# zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
使用 jps 验证进程是否已经启动,出现 QuorumPeerMain 则代表启动成功:
[[email protected] /]# jps
19458 NameNode
19863 SecondaryNameNode
16071 Jps
19609 DataNode
15934 QuorumPeerMain
也可以登录客户端进行测试:
[[email protected] /]# zkCli.sh
[zk: localhost:2181(CONNECTED) 0] version
ZooKeeper CLI version: 3.6.0--b4c89dc7f6083829e18fae6e446907ae0b1f22d7, built on 02/25/2020 14:38 GMT
至此,zookeeper单机版部署成功。