天天看點

使用shell腳本實作自動化部署HBASE叢集

  首先,要安裝好hadoop1.0.4,本例中主節點的主機名為的master,從節點的主機名分别是slave1,slave2,slave3,使用者名為hadoop,使用的hbase版本為hbase-0.94.6。安裝好hadoop後確定hdfs能夠正常存儲檔案,在root下運作如下腳本可以實作hbase叢集的快速搭建。

安裝路徑為/usr/hbase

安裝完成時要更改所屬主為hadoop使用者

shell代碼如下:

#!/bin/bash

tar -zxf hbase-0.94.6.tar.gz -c /usr

mv /usr/hbase-0.94.6 /usr/hbase

echo 'export hbase_home=/usr/hbase' >> /etc/profile

echo 'export path=$path:$hbase_home/bin' >> /etc/profile

#echo 'export classpath=.:$hbase_home/lib:$classpath' >> /etc/profile

source /etc/profile

echo 'export java_home=/usr/java/jdk1.6.0_32' >> /usr/hbase/hbase-env.sh

echo 'export hbase_pid_dir=/usr/hbase/pids' >> /usr/hbase/hbase-env.sh

echo 'export hbase_manages_zk=true' >> /usr/hbase/hbase-env.sh

sed -i '24a\\t</property>' /usr/hbase/conf/hbase-site.xml

sed -i '24a\\t<value>true</value>' /usr/hbase/conf/hbase-site.xml

sed -i '24a\\t<name>hbase.cluster.distributed</name>' /usr/hbase/conf/hbase-site.xml

sed -i '24a\\t<property>' /usr/hbase/conf/hbase-site.xml

sed -i '24a\\t<value>master,slave1,slave2,slave3</value>' /usr/hbase/conf/hbase-site.xml

sed -i '24a\\t<name>hbase.zookeeper.quorum</name>' /usr/hbase/conf/hbase-site.xml

sed -i '24a\\t<value>/usr/hbase/tmp/zookeeper</value>' /usr/hbase/conf/hbase-site.xml

sed -i '24a\\t<name>hbase.zookeeper.property.datadir</name>' /usr/hbase/conf/hbase-site.xml

sed -i '24a\\t<value>hdfs://master:60000</value>' /usr/hbase/conf/hbase-site.xml

sed -i '24a\\t<name>hbase.master</name>' /usr/hbase/conf/hbase-site.xml

sed -i '24a\\t<value>hdfs://master:9000/hbase</value>' /usr/hbase/conf/hbase-site.xml

sed -i '24a\\t<name>hbase.rootdir</name>' /usr/hbase/conf/hbase-site.xml

sed -i '1d' /usr/hbase/conf/regionservers

echo 'slave1' >> /usr/hbase/conf/regionservers

echo 'slave2' >> /usr/hbase/conf/regionservers

echo 'slave3' >> /usr/hbase/conf/regionservers

chown -r hadoop:hadoop  /usr/hbase/

scp -r /usr/hbase root@slave1:/usr/

scp -r /usr/hbase root@slave2:/usr/

scp -r /usr/hbase root@slave3:/usr/

for i in $(seq 3)

do

ssh slave$i "chown -r hadoop:hadoop /usr/hbase"

done