hbase自动化部署脚本

hb.sh:

功能:创建配置文件。

需要改动的有:

backup-masters

regionservers

hbase-site.xml

hbase-env.sh

hadoop-common-2.7.4.jar 

hdfs-site.xml

core-site.xml

其中:

backup-masters放置备用的master的host

regionservers放置对应的host

hbase-env.sh里要改动JAVA_HOME及ZK不用自带的

hbase-site.xml里配置roor.dir为HDFS的集群名称,quorum的host,zk信息存放文件,临时文件

其他三个配置要从hadoop相应的位置拷过来。

以下是详细脚本:



DIR_DEFAULT="/opt/hbase/hbase-1.3.1/conf/"

FILENAME2=$1
ZKNODES=""
NNCOUNT=0
for iphost in `cat $FILENAME2`
do
     if [ -z "$iphost" ];
        then  continue
     fi
     echo $iphost
     serverinfo=$iphost
        HOST=`echo $serverinfo | awk -F',' '{print $2}'`
        NODETYPE=`echo $serverinfo | awk -F',' '{print $5}'`
if [ "$NODETYPE" = "ZK" ] ;then
ZKNODES=$ZKNODES""$HOST","
echo $ZKNODES  $HOST
elif  [ "$NODETYPE" = "NN" ] ;then
echo $HOST
let NNCOUNT+=1
if [ $NNCOUNT = 2 ];then
backmaster="$HOST""\n"
echo -e $backmaster>$DIR_DEFAULT/"backup-masters"
else
slaves="$slaves""$HOST""\n"
echo $HOST
fi
done
ZKNODES_STR=`echo $ZKNODES |sed  '$ s/.$//'`
echo $ZKNODES_STR
echo -e $slaves >$DIR_DEFAULT/"regionservers"




FILEN="/opt/hbase/hbase-1.3.1/conf/hbase-site.xml"
(cat <<DATA
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
  <property>
    <name>hbase.rootdir</name>
    <value>hdfs://master/hbase</value>
  </property>
  <property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
  </property>
  <property>
    <name>hbase.zookeeper.quorum</name>
    <value>$ZKNODES_STR</value>
  </property>
  <property>
    <name>hbase.zookeeper.property.dataDir</name>
    <value>/opt/hbase/hbase-1.3.1/zk/data</value>
  </property>
    <property>
        <name>hbase.tmp.dir</name>
        <value>/opt/hbase/hbase-1.3.1/tmp</value>
    </property>
</configuration>
DATA

) > $FILEN


echo "start install hbase....."

TAR_PATH=/opt/tars
SH_PATH=/opt/scripts
CFG_PATH=/opt/config


FILENAME=$1
if [ "$1" = '' ];
  then exit;
fi
cat $FILENAME
SSHPASS=/opt/tools/sshpass
for iphost in `cat $FILENAME`
do
     if [ -z "$iphost" ];
        then  continue
     fi
     echo $iphost
     serverinfo=$iphost
          IP=`echo $serverinfo | awk -F',' '{print $1}'`
        USER=`echo $serverinfo | awk -F',' '{print $3}'`
        PAWD=`echo $serverinfo | awk -F',' '{print $4}'`
        HOST=`echo $serverinfo | awk -F',' '{print $2}'`
        NODETYPE=`echo $serverinfo | awk -F',' '{print $5}'`
echo $IP
echo $PAWD
echo $USER
echo $HOST
echo $NODETYPE
if [ "$NODETYPE" = "NN" ] || [ "$NODETYPE" = "DN" ];then
$SSHPASS -p "$PAWD" ssh   "$USER"@"$IP" "if ! [ -e /opt/tars ] ;then mkdir /opt/tars;fi"
$SSHPASS -p "$PAWD" ssh   "$USER"@"$IP" "if ! [ -e /opt/config ] ;then mkdir /opt/config;fi"
$SSHPASS -p "$PAWD" scp $TAR_PATH/hbase-1.3.1-bin.tar.gz "$USER"@"$IP":$TAR_PATH/
$SSHPASS -p "$PAWD" ssh  "$USER"@"$IP" "if [ -e /opt/scripts ] ;then rm -fr /opt/scripts;mkdir /opt/scripts;fi"
$SSHPASS -p "$PAWD" scp -r $SH_PATH  "$USER"@"$IP":/opt/
$SSHPASS -p "$PAWD" scp -r $CFG_PATH  "$USER"@"$IP":/opt/
$SSHPASS -p "$PAWD" ssh   "$USER"@"$IP" "if [ -e /opt/hbase ] ;then rm -fr /opt/hbase;fi;mkdir /opt/hbase;"
$SSHPASS -p "$PAWD" ssh   "$USER"@"$IP" "tar -zxvf $TAR_PATH/hbase-1.3.1-bin.tar.gz -C /opt/hbase"
$SSHPASS -p "$PAWD" ssh   "$USER"@"$IP" "if [ -e /opt/hbase/hbase-1.3.1/zk ] ;then mkdir /opt/hbase/hbase-1.3.1/zk;fi"
$SSHPASS -p "$PAWD" ssh   "$USER"@"$IP" "if [ -e /opt/hbase/hbase-1.3.1/zk/data ] ;then mkdir /opt/hbase/hbase-1.3.1/zk/data;fi"
$SSHPASS -p "$PAWD" ssh   "$USER"@"$IP" "if [ -e /opt/hbase/hbase-1.3.1/tmp ] ;then mkdir /opt/hbase/hbase-1.3.1/tmp;fi"
$SSHPASS -p "$PAWD" ssh   "$USER"@"$IP" "sed -i 's/#\s.*export\s*JAVA_HOME.*$/export JAVA_HOME=\/opt\/java\/jdk1.8.0_144\//' /opt/hbase/hbase-1.3.1/conf/hbase-env.sh"
$SSHPASS -p "$PAWD" ssh   "$USER"@"$IP" "sed -i 's/#\s.*export\s*HBASE_MANAGES_ZK.*$/export HBASE_MANAGES_ZK=false/' /opt/hbase/hbase-1.3.1/conf/hbase-env.sh"
$SSHPASS -p "$PAWD" ssh   "$USER"@"$IP" "cp /opt/hadoop/hadoop-2.7.4/etc/hadoop/hdfs-site.xml /opt/hbase/hbase-1.3.1/conf/"
$SSHPASS -p "$PAWD" ssh   "$USER"@"$IP" "cp /opt/hadoop/hadoop-2.7.4/etc/hadoop/core-site.xml /opt/hbase/hbase-1.3.1/conf/"
$SSHPASS -p "$PAWD" ssh   "$USER"@"$IP" "cp /opt/hadoop/hadoop-2.7.4/share/hadoop/common/hadoop-common-2.7.4.jar /opt/hbase/hbase-1.3.1/lib/"
$SSHPASS -p "$PAWD" ssh   "$USER"@"$IP" "/opt/scripts/hb.sh /opt/config/hs.txt"


fi
done








  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值