![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5iMzM2MilTYjNmYmZmY0QGO5ADN0QGNjRzYlJTY4UDNl9CX5d2bs92Yl1iclB3bsVmdlR2LcNWaw9CXt92Yu4GZjlGbh5yYjV3Lc9CX6MHc0RHaiojIsJye.png)
如果您安裝了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'