shell脚本快速启动Hadoop HA集群

1、编辑allzkServer.sh

vi allzkServer.sh

#!/bin/bash

case $1 in
"start"){
    
    
  for i in slave1 slave2 slave3;
  do
    echo "*********$i zkServer start*********"
    ssh $i "source /etc/profile;/usr/Software/ZooKeeper/zookeeper-3.4.13/bin/zkServer.sh start";
  done
};;
"stop"){
    
    
  for i in slave1 slave2 slave3;
  do
    echo "*********$i zkServer stop*********"
    ssh $i "source /etc/profile;/usr/Software/ZooKeeper/zookeeper-3.4.13/bin/zkServer.sh stop";
  done
};;
esac

将allzkServer.sh置于slave1结点的 ZOOKEEPER_HOME/bin 下

2、编辑alljournal.sh

vi alljournal.sh

#!/bin/bash

case $1 in
"start"){
    
    

  echo "*********slave1 journalnode start*********"
  /usr/Software/Hadoop/hadoop-2.7.3/sbin/hadoop-daemon.sh start journalnode

  for i in slave2 slave3;
  do
    echo "*********$i journalnode start*********"
    ssh $i "source /etc/profile;/usr/Software/Hadoop/hadoop-2.7.3/sbin/hadoop-daemon.sh start journalnode";
  done
};;

"stop"){
    
    

  echo "*********slave1 journalnode stop*********"
  /usr/Software/Hadoop/hadoop-2.7.3/sbin/hadoop-daemon.sh stop journalnode

  for i in slave2 slave3;
  do
    echo "*********$i journalnode stop*********"
    ssh $i "source /etc/profile;/usr/Software/Hadoop/hadoop-2.7.3/sbin/hadoop-daemon.sh stop journalnode";
  done
};;
esac

将 alljournal.sh置于slave1结点的 HADOOP_HOME/bin 目录下

3、编辑allhdfs.sh

vi allhdfs.sh

#!/bin/bash

case $1 in
"start"){
    
    

  echo "*********slave zkServer start*********"
  ssh slave1 "/usr/Software/ZooKeeper/zookeeper-3.4.13/bin/allzkServer.sh start";

  echo "*********slave journalnode start*********"
  ssh slave1 "/usr/Software/Hadoop/hadoop-2.7.3/bin/alljournal.sh start";

  echo "*********master1 namenode start*********"
  /usr/Software/Hadoop/hadoop-2.7.3/sbin/hadoop-daemon.sh start namenode

  echo "*********master1 zkfc start*********"
  /usr/Software/Hadoop/hadoop-2.7.3/sbin/hadoop-daemon.sh start zkfc

  echo "*********master1 yarn start*********"
  /usr/Software/Hadoop/hadoop-2.7.3/sbin/start-yarn.sh

  echo "*********slave datanode start*********"
  /usr/Software/Hadoop/hadoop-2.7.3/sbin/hadoop-daemons.sh start datanode

  echo "*********master2 namenode-bootstrapStandby start*********"
  ssh master2 "/usr/Software/Hadoop/hadoop-2.7.3/bin/hdfs namenode -bootstrapStandby";

  echo "*********master2 namenode start*********"
  ssh master2 "/usr/Software/Hadoop/hadoop-2.7.3/sbin/hadoop-daemon.sh start namenode";

  echo "*********master2 zkfc start*********"
  ssh master2 "/usr/Software/Hadoop/hadoop-2.7.3/sbin/hadoop-daemon.sh start zkfc";

  echo "*********master2 resourcemanager start*********"
  ssh master2 "/usr/Software/Hadoop/hadoop-2.7.3/sbin/yarn-daemon.sh start resourcemanager";

  echo "*********master1 MRhistory start*********"
  /usr/Software/Hadoop/hadoop-2.7.3/sbin/mr-jobhistory-daemon.sh start historyserver

};;

"stop"){
    
    
  
  echo "*********master1 MRhistory stop*********"
  /usr/Software/Hadoop/hadoop-2.7.3/sbin/mr-jobhistory-daemon.sh stop historyserver

  echo "*********master2 resourcemanager stop*********"
  ssh master2 "/usr/Software/Hadoop/hadoop-2.7.3/sbin/yarn-daemon.sh stop resourcemanager";

  echo "*********master2 zkfc stop*********"
  ssh master2 "/usr/Software/Hadoop/hadoop-2.7.3/sbin/hadoop-daemon.sh stop zkfc";

  echo "*********master2 namenode stop*********"
  ssh master2 "/usr/Software/Hadoop/hadoop-2.7.3/sbin/hadoop-daemon.sh stop namenode";

  echo "*********slave datanode stop*********"
  /usr/Software/Hadoop/hadoop-2.7.3/sbin/hadoop-daemons.sh stop datanode

  echo "*********master1 yarn stop*********"
  /usr/Software/Hadoop/hadoop-2.7.3/sbin/stop-yarn.sh

  echo "*********master1 zkfc stop*********"
  /usr/Software/Hadoop/hadoop-2.7.3/sbin/hadoop-daemon.sh stop zkfc

  echo "*********master1 namenode stop*********"
  /usr/Software/Hadoop/hadoop-2.7.3/sbin/hadoop-daemon.sh stop namenode

  echo "*********slave journalnode stop*********"
  ssh slave1 "/usr/Software/Hadoop/hadoop-2.7.3/bin/alljournal.sh stop";

  echo "*********slave zkServer stop*********"
  ssh slave1 "/usr/Software/ZooKeeper/zookeeper-3.4.13/bin/allzkServer.sh stop";

};;

esac

将 allhdfs.sh至于master1结点的 HADOOP_HOME/bin 目录下

4、启动集群

上面的脚本置于bin目录下主要是因为配有相应的环境变量,可以偷懒

//在master1中启动

allhdfs.sh start  //启动所有进程,包括MR历史任务进程

allhdfs.sh stop  //关闭集群

上一篇:Hadoop HA集群的搭建

猜你喜欢

转载自blog.csdn.net/qq_42599616/article/details/107030387