如果您安装了Oushu Lava私有云,或者用的是Lava Cluod公有云,那么您不需要手动部署Zookeeper。在部署HDFS的过程中会自动部署Zookeeper。
创建一个zkhostfile包含要安装zookeeper的机器:
touch zkhostfile
添加下面主机名到zkhostfile,该文件记录安装zookeeper的主机名称:
oushum1oushum2oushus1
安装Zookeeper:
source /usr/local/hawq/greenplum_path.shhawq ssh -f zkhostfile -e 'yum install -y zookeeper'
创建zookeeper数据目录:
hawq ssh -f zkhostfile -e 'mkdir -p /data1/zookeeper/data'hawq ssh -f zkhostfile -e 'chown -R zookeeper:zookeeper /data1/zookeeper'
分别在三台配置了zookeeper的节点上配置myid文件,分别节点oushum1、oushum2、oushus1创建文件myid,内容分别是1、2和3,然后为zookeeper用户加上权限:
source /usr/local/hawq/greenplum_path.shecho 1 > myidhawq scp -h oushum1 ./myid =:/data1/zookeeper/dataecho 2 > myidhawq scp -h oushum2 ./myid =:/data1/zookeeper/dataecho 3 > myidhawq scp -h oushus1 ./myid =:/data1/zookeeper/datahawq ssh -f zkhostfile -e "sudo chown -R zookeeper:zookeeper /data1/zookeeper/data"
复制zoo.cfg(右键保存)到oushum1上/etc/zookeeper/conf/zoo.cfg, 在oushum1上文件/etc/zookeeper/conf/zoo.cfg中添加以下内容:
server.1=oushum1:2888:3888server.2=oushum2:2888:3888server.3=oushus1:2888:3888
说明: server.n中的n值,即是myid文件的内容,在配置zookeeper节点需要注意:
在oushum1上文件/etc/zookeeper/conf/zoo.cfg中修改dataDir:
dataDir=/data1/zookeeper/data
拷贝zoo.cfg到所有zookeeper节点:
cd ~hawq scp -f zkhostfile /etc/zookeeper/conf/zoo.cfg =:/etc/zookeeper/conf/zoo.cfg
在oushum1,使用”hawq ssh”启动所有节点zookeeper:
hawq ssh -f zkhostfile -e 'sudo -u zookeeper /usr/hdp/current/zookeeper-server/bin/zkServer.sh start'
zookeeper启动后,使用下面的命令查看zookeeper是否启动成功:
hawq ssh -f zkhostfile -e 'sudo -u zookeeper /usr/hdp/current/zookeeper-server/bin/zkServer.sh status'