一些命令

各个模块分开启动/停止(配置SSH是前提)

  1. 整体启动/停止HDFS

start-dfs.sh/stop-dfs.sh

  2.整体启动/停止YARN

start-yarn.sh/stop-yarn.sh

各个服务组件逐一启动/停止

  1. 分别启动/停止HDFS组件

hdfs  –daemon start/stop namenode/datanode/secondarynamenode

    2. 启动停止YARN

  yarn  –daemon start/stop resourcemanager/nodemanager

为了简单,封装一个shell脚本

在bin目录下写myhadoop.sh脚本

#!/bin/bash

if [ $# -lt 1 ]

then

echo “No Args Input…”

exit ;

fi

 

case $1 in

“start”)

echo ” =================== 启动 hadoop 集群==========”

 

echo ” —-启动 hdfs—“

ssh hadoop102 “/opt/module/hadoop-3.3.1/sbin/start-dfs.sh”

echo ” —启动 yarn—“

ssh hadoop103 “/opt/module/hadoop-3.3.1/sbin/start-yarn.sh”

echo ” —启动 historyserver—“

ssh hadoop102 “/opt/module/hadoop-3.3.1/bin/mapred –daemon start historyserver”

;;

“stop”)

echo ” =================== 关闭 hadoop 集群=============”

 

echo ” ——关闭 historyserver——–“

ssh hadoop102 “/opt/module/hadoop-3.3.1/bin/mapred –daemon stop historyserver”

echo “—– 关闭 yarn——“

ssh hadoop103 “/opt/module/hadoop-3.3.1/sbin/stop-yarn.sh”

echo ” ———关闭 hdfs——–“

ssh hadoop102 “/opt/module/hadoop-3.3.1/sbin/stop-dfs.sh”

;;

*)

echo “Input Args Error…”

;;

esac

 

更改脚本的权限

chmod 777 myhadoop.sh

 

运行

 

 

 

 

 

 再写一个脚本jpsall用于查看所有服务器的jps

#!/bin/bash

 

for host in hadoop102 hadoop103 hadoop104

do

  echo “有双引号”

  echo   无双引号

  echo  ===============  $host ===============

  ssh $host jps

done

/usr/local/jdk/bin/jps

 

 

 更改权限:

chmod 777 jpsall

运行

 

一直显示未找到命令,在网上找了好久,也没有找到答案,最后自己试验了不到两个小时,成功运行

 

 问题在于,符号不能用等号,正确的代码

#!/bin/bash

for host in hadoop102 hadoop103 hadoop104
do
echo ————— $host —————
ssh $host jps
done

 

正确原因却不得而知,网上也找不到答案。

 

分发到其他服务器上

 

版权声明:本文为XIAOZHAOZHAO原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/zhaolei0419/p/16554437.html