安装Zookeeper

如果您安装了Oushu Lava私有云,或者用的是Lava Cluod公有云,那么您不需要手动部署Zookeeper。在部署HDFS的过程中会自动部署Zookeeper。

创建一个zkhostfile包含要安装zookeeper的机器:

touch zkhostfile

添加下面主机名到zkhostfile,该文件记录安装zookeeper的主机名称:

oushum1
oushum2
oushus1

安装Zookeeper:

source /usr/local/hawq/greenplum_path.sh

hawq 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.sh

echo 1 > myid
hawq scp -h oushum1 ./myid =:/data1/zookeeper/data

echo 2 > myid
hawq scp -h oushum2 ./myid =:/data1/zookeeper/data

echo 3 > myid
hawq scp -h oushus1 ./myid =:/data1/zookeeper/data


hawq 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:3888
server.2=oushum2:2888:3888
server.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'