【配置】deploy.sh、runRemoteCmd.sh脚本工具的配置使用

1.在master节点上创建/home/hadoop/tools目录。

[hadoop@master ~]$ mkdir /home/hadoop/tools
[hadoop@master ~]$ cd /home/hadoop/tools

2.将本地脚本文件上传至/home/hadoop/tools目录下。

[hadoop@master tools]$ rz deploy.conf
[hadoop@master tools]$ rz deploy.sh //文件分发shell脚本
[hadoop@master tools]$ rz runRemoteCmd.sh //远程执行命令脚本
[hadoop@master tools]$ ls
deploy.conf  deploy.sh  runRemoteCmd.sh

3.查看一下deploy.conf配置文件内容。

[hadoop@djt11 tools]$ cat deploy.conf
master,all,namenode,zookeeper,resourcemanager,
node1,all,slave,namenode,zookeeper,resourcemanager,
node2,all,slave,datanode,zookeeper,

all是所有节点的标签,slave是node1和node2的标签。

4.查看一下deploy.sh远程复制文件脚本内容。

[hadoop@master tools]$ cat deploy.sh
#!/bin/bash
#set -x

if [ $# -lt 3 ]
then 
  echo "Usage: ./deply.sh srcFile(or Dir) descFile(or Dir) MachineTag"
  echo "Usage: ./deply.sh srcFile(or Dir) descFile(or Dir) MachineTag confFile"
  exit 
fi

src=$1
dest=$2
tag=$3
if [ 'a'$4'a' == 'aa' ]
then
  confFile=/home/hadoop/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

5.查看一下runRemoteCmd.sh远程执行命令脚本内容。

[hadoop@master tools]$ cat runRemoteCmd.sh 
#!/bin/bash
#set -x

if [ $# -lt 2 ]
then 
  echo "Usage: ./runRemoteCmd.sh Command MachineTag"
  echo "Usage: ./runRemoteCmd.sh Command MachineTag confFile"
  exit 
fi

cmd=$1
tag=$2
if [ 'a'$3'a' == 'aa' ]
then

  confFile=/home/hadoop/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 "source /etc/profile; $cmd"
    done 
else
  echo "Error: Please assign config file or run deploy.sh command with deploy.conf in same directory"

6.对当前目录下的脚本文件的所有者添加可执行权限。

[hadoop@master tools]$ chmod u+x deploy.sh
[hadoop@master tools]$ chmod u+x runRemoteCmd.sh

7.将/home/hadoop/tools目录配置到PATH路径中

[hadoop@master tools]$ su root
Password:
[root@master tools]# vi /etc/profile
PATH=/home/hadoop/tools:$PATH
export PATH

8.测试运行
①在master节点上,通过runRemoteCmd.sh脚本,一键创建所有节点的软件安装目录/home/hadoop/app。

[hadoop@master tools]$ runRemoteCmd.sh "mkdir /home/hadoop/app" all

②将master节点的zookeeper文件分发到node1和node2节点上

[hadoop@master app]$ deploy.sh zookeeper /home/hadoop/app/ slave
  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值