您的位置:首页 > 运维架构 > Shell

使用shell脚本实现自动化部署HBASE集群

2014-11-25 00:34 567 查看
首先,要安装好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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  shell 集群 hbase