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

本文涉及的产品
云原生大数据计算服务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的热门话题分析
Apsara Clouder大数据专项技能认证配套课程:基于MaxCompute的热门话题分析
相关文章
|
5月前
|
负载均衡 算法 关系型数据库
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
本文聚焦 MySQL 集群架构中的负载均衡算法,阐述其重要性。详细介绍轮询、加权轮询、最少连接、加权最少连接、随机、源地址哈希等常用算法,分析各自优缺点及适用场景。并提供 Java 语言代码实现示例,助力直观理解。文章结构清晰,语言通俗易懂,对理解和应用负载均衡算法具有实用价值和参考价值。
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
|
5月前
|
分布式计算 Hadoop Java
CentOS中构建高可用Hadoop 3集群
这个过程像是在一个未知的森林中探索。但当你抵达终点,看到那个熟悉的Hadoop管理界面时,所有的艰辛都会化为乌有。仔细观察,尽全力,这就是构建高可用Hadoop 3集群的挑战之旅。
187 21
|
6月前
|
负载均衡 算法 关系型数据库
大数据新视界--大数据大厂之MySQL数据库课程设计:MySQL集群架构负载均衡故障排除与解决方案
本文深入探讨 MySQL 集群架构负载均衡的常见故障及排除方法。涵盖请求分配不均、节点无法响应、负载均衡器故障等现象,介绍多种负载均衡算法及故障排除步骤,包括检查负载均衡器状态、调整算法、诊断修复节点故障等。还阐述了预防措施与确保系统稳定性的方法,如定期监控维护、备份恢复策略、团队协作与知识管理等。为确保 MySQL 数据库系统高可用性提供全面指导。
|
6月前
|
数据采集 数据可视化 大数据
Python入门修炼:开启你在大数据世界的第一个脚本
Python入门修炼:开启你在大数据世界的第一个脚本
138 6
zdl
|
11月前
|
消息中间件 运维 大数据
大数据实时计算产品的对比测评:实时计算Flink版 VS 自建Flink集群
本文介绍了实时计算Flink版与自建Flink集群的对比,涵盖部署成本、性能表现、易用性和企业级能力等方面。实时计算Flink版作为全托管服务,显著降低了运维成本,提供了强大的集成能力和弹性扩展,特别适合中小型团队和业务波动大的场景。文中还提出了改进建议,并探讨了与其他产品的联动可能性。总结指出,实时计算Flink版在简化运维、降低成本和提升易用性方面表现出色,是大数据实时计算的优选方案。
zdl
435 56
|
11月前
|
SQL 存储 大数据
单机顶集群的大数据技术来了
大数据时代,分布式数仓如MPP成为热门技术,但其高昂的成本让人望而却步。对于多数任务,数据量并未达到PB级,单体数据库即可胜任。然而,由于SQL语法的局限性和计算任务的复杂性,分布式解决方案显得更为必要。esProc SPL作为一种开源轻量级计算引擎,通过高效的算法和存储机制,实现了单机性能超越集群的效果,为低成本、高效能的数据处理提供了新选择。
|
10月前
|
存储 负载均衡 监控
揭秘 Elasticsearch 集群架构,解锁大数据处理神器
Elasticsearch 是一个强大的分布式搜索和分析引擎,广泛应用于大数据处理、实时搜索和分析。本文深入探讨了 Elasticsearch 集群的架构和特性,包括高可用性和负载均衡,以及主节点、数据节点、协调节点和 Ingest 节点的角色和功能。
397 0
|
12月前
|
分布式计算 大数据 分布式数据库
大数据-158 Apache Kylin 安装配置详解 集群模式启动(一)
大数据-158 Apache Kylin 安装配置详解 集群模式启动(一)
211 5
|
12月前
|
SQL 分布式计算 NoSQL
大数据-170 Elasticsearch 云服务器三节点集群搭建 测试运行
大数据-170 Elasticsearch 云服务器三节点集群搭建 测试运行
242 4
|
9天前
|
机器学习/深度学习 传感器 分布式计算
数据才是真救命的:聊聊如何用大数据提升灾难预警的精准度
数据才是真救命的:聊聊如何用大数据提升灾难预警的精准度
74 14

热门文章

最新文章