hadoop用到的shell脚本

1、查询当前hadoop集群中各服务器已经开启的全部服务
  #!/bin/bash

  #查询集群各台服务器已经开启的服务


  for ((i=3;i<6;i++))
  do
    echo "-------------------Hadoop0$i------------"
    ssh Hadoop0$i "source /etc/profile && jps"
  done

  加权限,直接当前目录不用加bash运行
    chmod +x jpsall.sh

  将脚本移动到bin目录下,就可以在任何目录下直接运行脚本
    mv jpsall.sh bin/


2、分发脚本,直接分发到指定的多台服务器(myrsync.sh)

  #!/bin/bash

  #1 获取输入参数个数,如果没有参数,直接退出

  pcount=$#
  if ((pcount==0));

  then
    echo no args;
    exit;
  fi

  #2 获取分发(拷贝)文件名称
  p1=$1
  fname=`basename $p1`
  echo fname=$fname

  #3 获取当前文件上级目录到绝对路径
  pdir=`cd -P $(dirname $p1); pwd`
  echo pdir=$pdir

  #4 获取当前用户名称
  user=`whoami`

  #5 循环 (3,4)
  for((host=3; host<5; host++));

  do
    echo ------------------- hadoop20$host --------------
    rsync -av $pdir/$fname $user@hadoop20$host:$pdir
  done


3、编写一个脚本实现功能和步骤如下 (输入参数为:主机名和网关ip)

  1、修改主机名、
  2、修改静态ip地址、
  3、添加主机ip映射关系、
  4、关闭防火墙
  5、重启 Linux1 192.168.198.100
    #!/bin/bash
    if (( $#==0 ))
    then
      echo No.args!
      exit
    fi

    #修改主机名
    sed -i '/HOSTNAME/d' /etc/sysconfig/network
    echo "HOSTNAME=$1" >> /etc/sysconfig/network

    #修改静态ip地址
    part_addr=`ifconfig | grep Bcast | awk -F ":" '{print $2}' |awk -F '.' '{print$1"."$2"."$3}'`
    #part_addr=`ifconfig | grep Bcast | cut -d ":" -f 2 | cut -d " " -f 1 | cut -d . -f 1-3`

    ifcfg_eth0="/etc/sysconfig/network-scripts/ifcfg-eth0"
    sed -i '/IPADDR/d' $ifcfg_eth0
    sed -i '/GATEWAY/d' $ifcfg_eth0
    sed -i '/DNS1/d' $ifcfg_eth0
    sed -i '/DNS2/d' $ifcfg_eth0
    sed -i 's/ONBOOT=.*/ONBOOT=yes/g' $ifcfg_eth0
    sed -i 's/dhcp/static/g' $ifcfg_eth0

    echo -e "IPADDR=$part_addr.$2 GATEWAY=$part_addr.2 DNS1=114.114.114.114 DNS2=8.8.8.8" >> $ifcfg_eth0

    service network restart
    IP=`ifconfig | grep Bcast | cut -d ":" -f 2 | cut -d " " -f 1`
    echo 修改后的ip地址为:$IP

    #添加主机ip映射关系
    sed -i '/`echo $1`/d'
    #echo "$IP $1" >> /etc/hosts
    echo "$part_addr.$2 $1" >> /etc/hosts

    #关闭防火墙
    service iptables stop
    chkconfig iptables off

    #重启
    reboot

原文地址:https://www.cnblogs.com/si-137/p/13377012.html