shell脚本一键启动hadoop,zookeeper以及jps查看全部节点

话不多说,直接上脚本。

启动hadoop:

#!/bin/sh

#start hdfs
echo "hdfs is starting..."
ssh hadoop102 "/opt/module/hadoop-2.7.2/sbin/start-dfs.sh"

#start yarn
echo "yarn is starting..."
ssh hadoop103 "/opt/module/hadoop-2.7.2/sbin/start-yarn.sh"

这里需要注意我的主节点是hadoop102,子节点是hadoop103和hadoop104 hdfs在102上,yarn在103上

关闭hadoop:

#!/bin/sh


#stop yarn
echo "yarn is stoping..."
ssh hadoop103 "/opt/module/hadoop-2.7.2/sbin/stop-yarn.sh"

#stop hdfs
echo "hdfs is stoping..."
ssh hadoop102  "/opt/module/hadoop-2.7.2/sbin/stop-dfs.sh"

echo "hadoop is stopped"

启动zookeeper

#!/bin/sh

for i  in root@hadoop102 root@hadoop103 root@hadoop104
do
    echo "the zookeeper in $i  is start..."
   ssh $i "source /etc/profile;/opt/module/zookeeper-3.4.10/bin/zkServer.sh start"
done

关闭zookeeper

#!/bin/bash
for i  in root@hadoop102 root@hadoop103 root@hadoop104
do
    echo "the zookeeper in $i  is stop..."
    ssh $i "source /etc/profile;/opt/module/zookeeper-3.4.10/bin/zkServer.sh stop"
done

这里需要注意必须要source一下/etc/profile,因为zookeeper依赖于jdk,但是ssh登录并不读取jdk环境变量所在文件,所以source一下可以读取到JAVA_HOME.

一键查看所有节点的进程

#!/bin/sh

for i  in root@hadoop102 root@hadoop103 root@hadoop104
do
    echo "===================== $i ======================="
    ssh $i  '/opt/module/jdk1.8.0_144/bin/jps'
done

我们可以echo一下PATH

在这里插入图片描述

/usr/local/bin已经是在path里面的,所以我们可以将以上所有的脚本都放在这里目录下,这样不管我们在哪个目录执行都可以运行这些脚本了。

猜你喜欢

转载自blog.csdn.net/weixin_44080445/article/details/108911725