大数据平台安装部署系列——【2】大数据平台部署脚本工具

举报
A21100 发表于 2019/02/11 13:00:52 2019/02/11
【摘要】 在进行集群部署之前,首先要准备两个小工具,以方便后面的部署。

===================================================================

看一百篇文章,读一百遍手册,不如自己动手操做一遍。

大数据平台也一样,你也许用过hadoop/hdfs,hbase,spark,kafka,......等等系统或组件,但真正动手部署过的人也许不多,如果是多个系统集成到一起部署可能更是少之又少。

学习就是要不停地折腾,多折腾几遍你就自然熟悉了,很多原理也就明白了。

因此计划做一个“大数据平台安装部署系列”的博文,step by step,逐步深入,希望对学习者有所帮助。


约定:

a. 系统命令执行

    #符号开头的命令行,是指以root用户运行的命令

    $符号开头的命令行,是指以普通用户运行的命令

b. 加黄底色的文字,一般是指配置文件或脚本文件中的内容

    如:<name>hadoop.tmp.dir</name>

===================================================================


在进行集群部署之前,首先要准备两个小工具,以方便后面的部署。

部署脚本可以直接从华为软开云下载。

https://devcloud.huaweicloud.com/codehub/project/ba3e1c1c07c04ebab161212d8dc95a4b/codehub/467155/home

注:此工具来自于互联网,你也可以在如下链接中找到。本人只是进行了简单的调整。

https://gitee.com/ljc520313/notesummary/tree/master/bigdata/hadoop/notes/install/2.6/%E5%AE%8C%E5%85%A8%E5%88%86%E5%B8%83%E5%BC%8F/%E6%90%AD%E5%BB%BA%E4%B8%80%E4%B8%AA5%E8%8A%82%E7%82%B9%E7%9A%84hadoop%E5%88%86%E5%B8%83%E5%BC%8F%E9%9B%86%E7%BE%A4/shell%E8%84%9A%E6%9C%AC

将下载下来的文件或直接创建好的文件放入下面的目录:

/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


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。