Skip to content

Hadoop集群运维

1. 每台机器单独操作

分开HDFS、YARN启动/停止

sh
# 整体集群启动/停止HDFS   
start-dfs.sh/stop-dfs.sh
# 整体集群启动/停止YARN  
start-yarn.sh/stop-yarn.sh
# 单独启停其中一台机器hdfs和YARN
hdfs --daemon start/stop namenode/datanode/secondarynamenode   
yarn --daemon start/stop  resourcemanager/nodemanager

2. 群起集群脚本

进入 /home/jack/bin目录,编写hadoop_helper脚本

sh
[jack@hadoop102 bin]$ cat hadoop_helper 
#!/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.6/sbin/start-dfs.sh"
        echo " --------------- 启动 yarn ---------------"
        ssh hadoop103 "/opt/module/hadoop-3.3.6/sbin/start-yarn.sh"
        echo " --------------- 启动 historyserver ---------------"
        ssh hadoop102 "/opt/module/hadoop-3.3.6/bin/mapred --daemon start historyserver"
;;
"stop")
        echo " =================== 关闭 hadoop集群 ==================="

        echo " --------------- 关闭 historyserver ---------------"
        ssh hadoop102 "/opt/module/hadoop-3.3.6/bin/mapred --daemon stop historyserver"
        echo " --------------- 关闭 yarn ---------------"
        ssh hadoop103 "/opt/module/hadoop-3.3.6/sbin/stop-yarn.sh"
        echo " --------------- 关闭 hdfs ---------------"
        ssh hadoop102 "/opt/module/hadoop-3.3.6/sbin/stop-dfs.sh"
;;
"jps")
    echo " =================== 获取hadoop集群jps ==================="
    for host in hadoop102 hadoop103 hadoop104
    do
        echo =============== $host ===============
        ssh $host jps 
    done
 ;;
*)
    echo "Input Args Error..."
;;
esac

##  赋予脚本执行权限
[jack@hadoop102 bin]$ chmod +x  hadoop_helper
[jack@hadoop102 bin]$ xsync hadoop_helper