大数据 | (六)Hadoop集群启停脚本

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 大数据 | (六)Hadoop集群启停脚本

一、前言


hello,大家好!这篇文章是我在使用Hadoop集群时使用到的启停脚本的详细内容与感想,希望能帮助到大家!

本篇文章收录于 初心大数据 专栏。


🧑 个人简介:大家好,我是初心,一个很菜但没放弃的人✨

💕 座右铭:理想主义的花,终究会盛开在浪漫主义的土壤里!🍺

💕 欢迎大家:这里是CSDN,我记录知识的地方,欢迎大家一起交流,有问题请私信😘


事情是这样的:我们在使用Hadoop集群时,一打开虚拟机,总是要在 NameNode 节点上启动 Hdfs ,在 ResourceManager 节点上启动 yarn ,关闭的时候也是,是不是有点麻烦呢?有没有能够让我们在一个节点上,执行一个命令,就可以把 Hdfs 、yarn以及历史服务器打开呢?答案是有! 接下来让我为大家介绍——Hadoop启停脚本以及 jps 脚本。


二、Hadoop集群启停脚本


2.1 启停脚本及其背景


我们搭建好了 Hadoop 集群之后,需要启动 Hdfs 和 yarn,因为Sqoop执行数据导入的时候,就是在执行任务,而 yarn 是任务调度管理器,所以 yarn 也是必要的。以前我们开启、关闭 Hdfs 和 yarn 都是通过下面的命令:


在Hadoop102上开启 Hdfs:

sbin/start-dfs.sh

在Hadoop103上开启 yarn:

sbin/start-yarn.sh

在Hadoop102上开启历史服务器:

./bin/mapred --daemon start historyserver

在Hadoop103上关闭 yarn:

sbin/stop-yarn.sh

在Hadoop102上关闭 Hdfs:

sbin/stop-dfs.sh


在Hadoop102上开启历史服务器:

./bin/mapred --daemon stop historyserver


一次使用,我们就要执行四个命令,还要在不同的机器上执行,是不是有点麻烦呢?有没有什么办法,可以让我们执行一次就启动或者关闭 hdfs 和 yarn 呢?答案是有,那就是使用 shell 脚本。


首先跟大家简单讲讲这个脚本,脚本名为 myhadoop.sh,然后再告诉大家怎么使用,其实在Linux中使用什么脚本的方式都是几乎一样的。


  • Hadoop启停脚本
#! /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.1.3/sbin/start-dfs.sh"
        echo "----------启动yarn----------"
        ssh hadoop103 "/opt/module/hadoop-3.1.3/sbin/start-yarn.sh"
        echo "----------启动historyserver----------"
        ssh hadoop102 "/opt/module/hadoop-3.1.3/bin/mapred --daemon start historyserver"
;;
"stop")
        echo "-----*-----关闭hadoop集群-----*-----"
        echo "----------关闭historyserver----------"
        ssh hadoop102 "/opt/module/hadoop-3.1.3/bin/mapred --daemon stop historyserver"
        echo "----------关闭yarn----------"
        ssh hadoop103 "/opt/module/hadoop-3.1.3/sbin/stop-yarn.sh"
        echo "----------关闭hdfs----------"
        ssh hadoop102 "/opt/module/hadoop-3.1.3/sbin/stop-dfs.sh"
;;
*)
    echo "Input Args Error"
;;
esac


上面的脚本的功能就是如果执行脚本时,后面没有参数,就输出"No Args Input…";


如果不是参数 start 或者 stop ,就输出"Input Args Error";


如果是接着 start 参数,就通过 ssh 命令,连接到 Hadoop102主机开启 hdfs,连接到Hadoop103主机,开启yarn,再连接到Hadoop102,开启历史服务器;


如果是stop命令,就一次关闭历史服务器、yarn和hdfs。


2.2 使用方法


  • 1.将 myhadoop.sh 脚本上传到 Linux 系统中的 /usr/local/bin目录下。


8ceee0440bce4c35ad21774aafb7fbfb.png


为什么选择这个目录?因为这个目录是在 Linux 系统的环境变量目录中的,在环境变量目录中的可执行文件,就是我们的可执行脚本(也就是自定义命令)。

查看 Linux 系统的环境变量命令:

echo $PATH


cd9b49d871e94c1f877b3f51d5bfbe7b.png

  • 2.将脚本所属用户和组修改为当前用户

如果大家平时使用的不是 root 用户操作,那么文件上传上来时,它的所属用户和组可能是 root ,为了能够在普通用户下也能操作这个脚本,就要将它的所属用户和组修改为当前用户(这里我的当前用户是 sky )。

sudo chown sky:sky myhadoop.sh -R


  • 3.重命名脚本
mv myhadoop.sh myhadoop


  • 4.为脚本赋予可执行权限
sudo chmod 777 myhadoop


  • 5.测试脚本能否使用

使用 myhadoop 命令来开启 hdfs 和 yarn 以及历史服务器:

myhadoop start


3e59b78ca3c74f6ea79ef0d6525440f9.png


使用 myhadoop 命令来关闭历史服务器、 hdfs 和 yarn :

myhadoop stop



7cfdcfe47ec048f29b068f334aa16836.png

执行过程正确,证明脚本可用,这下我们开启 hdfs 和 yarn 就方便多了!


三、jps脚本


以前我们测试 hdfs、yarn以及历史服务器是否启动,都是通过 jps 命令查看Java进程来实现的,我们需要在Hadoop102、Hadoop103以及Hadoop104上分别执行 jps 命令,是不是也有点麻烦呢?这里使用 jpsall.sh 脚本,可以实现执行一次,分别在三台节点上执行 jps 命令。


  • jps测试脚本
#! /bin/bash
for host in hadoop102 hadoop103 hadoop104
do
        echo ----------$host----------
        ssh $host jps
done


上面脚本的功能就是遍历Hadoop102-Hadoop104,然后通过 ssh 命令进入到三台主机,分别执行 jps 命令。

使用这个jpsall.sh脚本的步骤和上面使用 myhadoop 脚本是一样的,下面就直接演示结果:

212dec6af08640f3be72301b4169bb58.png

这样看来,是不是也方便多了呢!


四、关机脚本


脚本就是这么的有趣!同学们如果还有喜欢脚本的,可以留言或者私信和我交流。下面再跟大家分享一个 关机脚本 ,可以执行一次,分别关闭 hadoop104,hadoop103,hadoop102。

  • 关机脚本
#! /bin/bash
if [ $# -lt 1 ]
 then 
   echo "NO Args Input Error..."
   exit     
fi          
case $1 in  
"s")
  echo "---------------shutdown now---------------"
  ssh hadoop104 "sudo shutdown -h now"
  ssh hadoop103 "sudo shutdown -h now"
  ssh hadoop102 "sudo shutdown -h now"
;;  
"r")
  echo "---------------reboot---------------"
  ssh -t hadoop104 "sudo reboot"
  ssh -t hadoop103 "sudo reboot"
  ssh -t hadoop102 "sudo reboot"
;;
*)
echo "Input args Error..."
;;
esac


五、结语


本文主要讲解了Hadoop集群启停脚本、jps脚本以及关机脚本,希望对大家有帮助。


这就是今天要分享给大家的全部内容了,我们下期再见!

✨ 本文由初心原创,首发于CSDN博客。

🍻 如果你喜欢的话,记得点赞收藏关注,我在CSDN等你!


相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
20天前
|
存储 分布式计算 Hadoop
数据湖技术:Hadoop与Spark在大数据处理中的协同作用
【10月更文挑战第27天】在大数据时代,数据湖技术凭借其灵活性和成本效益成为企业存储和分析大规模异构数据的首选。Hadoop和Spark作为数据湖技术的核心组件,通过HDFS存储数据和Spark进行高效计算,实现了数据处理的优化。本文探讨了Hadoop与Spark的最佳实践,包括数据存储、处理、安全和可视化等方面,展示了它们在实际应用中的协同效应。
71 2
|
21天前
|
存储 分布式计算 Hadoop
数据湖技术:Hadoop与Spark在大数据处理中的协同作用
【10月更文挑战第26天】本文详细探讨了Hadoop与Spark在大数据处理中的协同作用,通过具体案例展示了两者的最佳实践。Hadoop的HDFS和MapReduce负责数据存储和预处理,确保高可靠性和容错性;Spark则凭借其高性能和丰富的API,进行深度分析和机器学习,实现高效的批处理和实时处理。
59 1
zdl
|
8天前
|
消息中间件 运维 大数据
大数据实时计算产品的对比测评:实时计算Flink版 VS 自建Flink集群
本文介绍了实时计算Flink版与自建Flink集群的对比,涵盖部署成本、性能表现、易用性和企业级能力等方面。实时计算Flink版作为全托管服务,显著降低了运维成本,提供了强大的集成能力和弹性扩展,特别适合中小型团队和业务波动大的场景。文中还提出了改进建议,并探讨了与其他产品的联动可能性。总结指出,实时计算Flink版在简化运维、降低成本和提升易用性方面表现出色,是大数据实时计算的优选方案。
zdl
34 0
|
1月前
|
分布式计算 Hadoop 大数据
大数据体系知识学习(一):PySpark和Hadoop环境的搭建与测试
这篇文章是关于大数据体系知识学习的,主要介绍了Apache Spark的基本概念、特点、组件,以及如何安装配置Java、PySpark和Hadoop环境。文章还提供了详细的安装步骤和测试代码,帮助读者搭建和测试大数据环境。
59 1
|
1月前
|
SQL 分布式计算 NoSQL
大数据-170 Elasticsearch 云服务器三节点集群搭建 测试运行
大数据-170 Elasticsearch 云服务器三节点集群搭建 测试运行
41 4
|
1月前
|
SQL 分布式计算 大数据
大数据平台的毕业设计01:Hadoop与离线分析
大数据平台的毕业设计01:Hadoop与离线分析
104 0
|
1月前
|
分布式计算 Kubernetes Hadoop
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
153 6
|
1月前
|
分布式计算 资源调度 Hadoop
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
65 2
|
1月前
|
存储 分布式计算 资源调度
大数据-04-Hadoop集群 集群群起 NameNode/DataNode启动 3台公网云 ResourceManager Yarn HDFS 集群启动 UI可视化查看 YarnUI(一)
大数据-04-Hadoop集群 集群群起 NameNode/DataNode启动 3台公网云 ResourceManager Yarn HDFS 集群启动 UI可视化查看 YarnUI(一)
76 5
|
1月前
|
资源调度 数据可视化 大数据
大数据-04-Hadoop集群 集群群起 NameNode/DataNode启动 3台公网云 ResourceManager Yarn HDFS 集群启动 UI可视化查看 YarnUI(二)
大数据-04-Hadoop集群 集群群起 NameNode/DataNode启动 3台公网云 ResourceManager Yarn HDFS 集群启动 UI可视化查看 YarnUI(二)
36 4
下一篇
无影云桌面