首先,要安装好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</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<property>' /usr/hbase/conf/hbase-site.xml

sed -i '24a\\t</property>' /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<property>' /usr/hbase/conf/hbase-site.xml

sed -i '24a\\t</property>' /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<property>' /usr/hbase/conf/hbase-site.xml

sed -i '24a\\t</property>' /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 '24a\\t<property>' /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