目标:Ubuntu 14.04 安装配置 Zookeeper 集群。
一. 资源准备
三个节点, IP和主机名对应如下
192.168.17.130masternode
192.168.17.131worknode1
192.168.17.132worknode2
二. 安装配置
Step1: 下载Zookeeper 本例:zookeeper-3.4.6.tar.gz
URL >> https://storm.apache.org/downloads.html
Step2: 解压到安装目录 /usr/local/zookeeper
tar -zxvf zookeeper-3.4.6.tar.gz -C /usr/local/zookeeper
Step3: 创建zookeeper软链接, 便于在不同版本之间切换
ln -s zookeeper/zookeeper-3.4.6 zookeeper
Step4: 在/etc/profile.d目录下创建文件 zookeeper_env.sh, 内容如下:
#!/bin/bash
ZOOKEEPER_HOME=/usr/local/zookeeper/zookeeper
PATH=$ZOOKEEPER_HOME/bin:$PATH
Step5: 重新加载环境变量
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
Ubuntu 14.04安装分布式存储Sheepdog+ZooKeeper:http://www.linuxdiyf.com/linux/10285.html
RHEL自动安装Zookeeper的shell脚本:http://www.linuxdiyf.com/linux/6594.html
zookeeper只能本地访问的问题解决方法:http://www.linuxdiyf.com/linux/14616.html