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里面的,所以我们可以将以上所有的脚本都放在这里目录下,这样不管我们在哪个目录执行都可以运行这些脚本了。

文件或目录同步脚本 xsync.sh : (注意此脚本使用之前需要下载rsync,yum install rsync -y )

#!/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 循环
for host in 主机1  主机2  主机n
do
    echo ------------------- $host --------------
    rsync -av $pdir/$fname $user@$host:$pdir
done

使用时直接xsync.sh xx文件或者xx目录就可以将本机上的文件同步到其他机器上。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值