大数据平台安装部署系列——【2】大数据平台部署脚本工具
===================================================================
看一百篇文章,读一百遍手册,不如自己动手操做一遍。
大数据平台也一样,你也许用过hadoop/hdfs,hbase,spark,kafka,......等等系统或组件,但真正动手部署过的人也许不多,如果是多个系统集成到一起部署可能更是少之又少。
学习就是要不停地折腾,多折腾几遍你就自然熟悉了,很多原理也就明白了。
因此计划做一个“大数据平台安装部署系列”的博文,step by step,逐步深入,希望对学习者有所帮助。
约定:
a. 系统命令执行
#符号开头的命令行,是指以root用户运行的命令
$符号开头的命令行,是指以普通用户运行的命令
b. 加黄底色的文字,一般是指配置文件或脚本文件中的内容
如:<name>hadoop.tmp.dir</name>
===================================================================
在进行集群部署之前,首先要准备两个小工具,以方便后面的部署。
部署脚本可以直接从华为软开云下载。
注:此工具来自于互联网,你也可以在如下链接中找到。本人只是进行了简单的调整。
将下载下来的文件或直接创建好的文件放入下面的目录:
/home/hadoop/bdapps/tools
如果目录与此不一样,则需要对两个shell脚本工具进行相应的修改。
deploy.conf
#### NOTES
# This is a configuration file for the scripts-tools.
# The format is:
# hostname,group1,[group2,][group3,][group4,][group5,][]
# when execute the scripts-tool in this directory, a group may specified,
# so the comands or operations will be executed on all the hosts of the specified group.
centos7-220,all,namenode,zk,resmgr,
centos7-221,all,slave,namenode,zk,resmgr,
centos7-222,all,slave,datanode,zk,
centos7-223,all,slave,datanode,zk,
centos7-224,all,slave,datanode,zk,
deploy.sh
#!/bin/bash
#set -x
if [ $# -lt 3 ]
then
echo "Usage: ./deploy.sh srcFile(or Dir) destFile(or Dir) HostGroup"
echo "Usage: ./deploy.sh srcFile(or Dir) destFile(or Dir) HostGroup confFile"
exit
fi
src=$1
dest=$2
tag=$3
if [ 'a'$4'a' == 'aa' ]
then
confFile=/home/hadoop/bdapps/tools/deploy.conf
else
confFile=$4
fi
if [ -f $confFile ]
then
if [ -f $src ]
then
for server in `cat $confFile|grep -v '^#'|grep ','$tag','|awk -F',' '{print $1}'`
do
scp $src $server":"${dest}
done
elif [ -d $src ]
then
for server in `cat $confFile|grep -v '^#'|grep ','$tag','|awk -F',' '{print $1}'`
do
scp -r $src $server":"${dest}
done
else
echo "Error: No source file exist"
fi
else
echo "Error: Please assign config file or run deploy.sh command with deploy.conf in same directory"
fi
runRemoteCmd.sh
#!/bin/bash
#set -x
if [ $# -lt 2 ]
then
echo "Usage: ./runRemoteCmd.sh Command HostGroup"
echo "Usage: ./runRemoteCmd.sh Command HostGroup confFile"
exit
fi
cmd=$1
tag=$2
if [ 'a'$3'a' == 'aa' ]
then
confFile=/home/hadoop/bdapps/tools/deploy.conf
else
confFile=$3
fi
if [ -f $confFile ]
then
for server in `cat $confFile|grep -v '^#'|grep ','$tag','|awk -F',' '{print $1}'`
do
echo "*******************$server***************************"
ssh $server "$cmd"
done
else
echo "Error: Please assign config file or run deploy.sh command with deploy.conf in same directory"
fi
- 点赞
- 收藏
- 关注作者
评论(0)