文章482
标签257
分类63

初入zookeeper之安装与配置

对于Zookeeper的安装与部署相关总结.

零. Zookeeper安装

1. 准备Java环境

​ 确保安装了Java 1.6以上的的版本, 并在/etc/profile中配置JAVA_HOME 和PATH等环境变量;


2. 下载安装包

​ 从Apache的Zookeeper官网下载稳定版本(尾号双数为稳定版本, 奇数为尝鲜版).


3. 解压

通过:

sudo tar -zxvf zookeeper-x.x.x.tar.gz  -C /opt/

解压文件.


4. 切换文件所有权(可选)

通过 sudo chown user:user -R zookeeper-x.x.x 转换文件所有权.

至此, Zookeeper安装完毕!


一. Zookeeper配置

1. 配置环境变量:

​ 通过vi /etc/profile, 配置内容如下:

export ZK_HOME=/opt/zookeeper-3.4.14
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH:$ZK_HOME/bin

配置ZK_HOME;


2. 配置zoo.cfg文件:

​ 初次使用Zookeeper时, 还需要配置文件,将%ZK_HOME/conf/zoo_sample.cfg重命名:

sudo vi %ZK_HOME/conf/zoo_samplee.cfg %ZK_HOME/conf/zoo.cfg

​ 并修改内容:

tickTime=2000
# The number of ticks that the initial 
# synchronization phase can take
initLimit=5
# The number of ticks that can pass between 
# sending a request and getting an acknowledgement
syncLimit=2
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just 
# example sakes.
dataDir=/var/lib/zookeeper/data
dataLogsDir=/var/lib/zookeeper/logs
# the port at which the clients will connect
clientPort=2181
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60
#
# Be sure to read the maintenance section of the 
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autpurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1
server.1=127.0.0.1:2888:3888

3. 开启Zookeeper

​ 在根目录下执行:

sudo sh ./bin/zkService.sh start

启动Zookeeper.


4. 验证服务器

​ 确保本机中已安装telnet. 并使用:

telnet 127.0.0.1 2181

​ 如果连接成功则说明Zookeeper部署成功;


二. 常见错误

1. 启动Zookeeper的bin/zkServer.sh: Syntax error: unexpected (expecting fi)错误:

原因:

​ Ubuntu的默认的shell有问题导致的!

解决:

​ 使用: dpkg-reconfigure dash, 并选择 NO!


2. 使用了sudo sh ./bin/zkService start, 显示START, 但是进程中无相应进程, 或telnet无法连接:

​ 在根目录执行:

sudo sh ./bin/zkService.sh start-foreground

注意: 推荐将文件所有权给root, 并用sudo执行(Ubuntu下), 防止本地用户权限过大!

​ 此时显示: 170:exec :java:not found


解决方案:

1. 修改bin目录下的zkServer.sh, 添加JAVA_HOME:

# use POSTIX interface, symlink is followed automatically
ZOOBIN="${BASH_SOURCE-$0}"
ZOOBIN="$(dirname "${ZOOBIN}")"
ZOOBINDIR="$(cd "${ZOOBIN}"; pwd)"
JAVA_HOME=/usr/java/jdk1.8.0_201
      **最后一行为添加内容**.

      此方法亲测有效!

2. 给解压后的目录 zookeeper 加权限 chmod -R 777 (文件夹名)

​ 未尝试此方法!


本文作者:Jasonkay
本文链接:https://jasonkayzk.github.io/2019/09/01/初入zookeeper/
版权声明:本文采用 CC BY-NC-SA 3.0 CN 协议进行许可