对于Zookeeper的安装与部署相关总结.
零. Zookeeper安装
1. 准备Java环境
确保安装了Java 1.6以上的的版本, 并在/etc/profile中配置JAVA_HOME 和PATH等环境变量;
2. 下载安装包
从Apache的Zookeeper官网下载稳定版本(尾号双数为稳定版本, 奇数为尝鲜版).
3. 解压
通过:
1 | 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, 配置内容如下:
1 | export ZK_HOME=/opt/zookeeper-3.4.14 |
配置ZK_HOME;
2. 配置zoo.cfg文件:
初次使用Zookeeper时, 还需要配置文件,将%ZK_HOME/conf/zoo_sample.cfg重命名:
1 | sudo vi %ZK_HOME/conf/zoo_samplee.cfg %ZK_HOME/conf/zoo.cfg |
并修改内容:
1 | tickTime=2000 |
3. 开启Zookeeper
在根目录下执行:
1 | sudo sh ./bin/zkService.sh start |
启动Zookeeper.
4. 验证服务器
确保本机中已安装telnet. 并使用:
1 | 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无法连接:
在根目录执行:
1 | sudo sh ./bin/zkService.sh start-foreground |
注意: 推荐将文件所有权给root, 并用sudo执行(Ubuntu下), 防止本地用户权限过大!
此时显示: 170:exec :java:not found
解决方案:
1. 修改bin目录下的zkServer.sh, 添加JAVA_HOME:
1 | # use POSTIX interface, symlink is followed automatically |
**最后一行为添加内容**.
此方法亲测有效!2. 给解压后的目录 zookeeper 加权限 chmod -R 777 (文件夹名)
未尝试此方法!