zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    spring cloud 学习
    python学习-2 python安装和环境变量的设置
    python学习-1 编程语言的介绍
    LIUNX随堂学习-3 权限
    LIUNX随堂学习-2 用户和组,增、删、改、查
    LIUNX随堂学习-1 用户及查看信息
    MySQL--Oracle导出数据csv
    MySQL--mysql中You can’t specify target table for update in FROM clause错误解决方法
    Python--安装
    MySQL--复制
  • 原文地址:https://www.cnblogs.com/si-137/p/13377012.html
Copyright © 2011-2022 走看看