三个节点, IP和主机名对应以下html
192.168.17.130 masternode
node
192.168.17.131 worknode1
apache
192.168.17.132 worknode2
bash
Step1: 下载Zookeeper 本例:zookeeper-3.4.6.tar.gzssh
URL >> https://storm.apache.org/downloads.htmlspa
Step2: 解压到安装目录 /usr/local/zookeepercode
tar -zxvf zookeeper-3.4.6.tar.gz -C /usr/local/zookeeper
Step3: 建立zookeeper软连接, 便于在不一样版本之间切换orm
ln -s zookeeper/zookeeper-3.4.6 zookeeper
Step4: 在/etc/profile.d目录下建立文件 zookeeper_env.sh, 内容以下:server
#!/bin/bash ZOOKEEPER_HOME=/usr/local/zookeeper/zookeeperPATH=$ZOOKEEPER_HOME/bin:$PATH
Step5: 从新加载环境变量htm
source /etc/profile
Step6: 进入zookeeper/conf目录下,复制zoo_sample.cfg 到 zoo.cfg
cp zoo_sample.cfg zoo.cfg # zoo.cfg 是zookeeper默认加载的配置文件
修改:
dataDir=/var/lib/zookeeper
追加:
server.1=192.168.17.130:2888:3888
server.2=192.168.17.131:2888:3888
server.3=192.168.17.132:2888:3888
解释: dataDir制定zookeeper的数据文件目录,其中 server.id=host:port:port, id为每一个zookeeper节点的编号,保存在dataDir目录下的myid文件中;host表明主机,第一个端口用于连接leader,第二个端口用于leader选举端口。
Step7: 将安装文件分别拷贝到剩余的机器上
1. 此处使用主机名而不是ip,所以须要在三台节点的 /etc/hosts中配置映射关系
192.168.17.130 masternode
192.168.17.131 worknode1
192.168.17.132 worknode2
2. 为了方便在不一样节点上拷贝文件,此处配置ssh,互相交换公共密钥,示例:
ssh-keygen -t rsa ssh-copy-id -i ~/.ssh/id_rsa.pub masternode ssh-copy-id -i ~/.ssh/id_rsa.pub worknode1 ssh-copy-id -i ~/.ssh/id_rsa.pub worknode2
实现三个节点两两之间相互无密码访问,而后使用scp命令进行拷贝
Step8:启动服务(分别在三个节点上启动服务)
zkServer.sh start
Step9: 验证
zkServer.sh status
官网参考:https://zookeeper.apache.org/doc/r3.4.6/zookeeperAdmin.html