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

简介: 大数据 | (六)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等你!


相关实践学习
简单用户画像分析
本场景主要介绍基于海量日志数据进行简单用户画像分析为背景,如何通过使用DataWorks完成数据采集 、加工数据、配置数据质量监控和数据可视化展现等任务。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
19天前
|
存储 分布式计算 Hadoop
大数据处理架构Hadoop
【4月更文挑战第10天】Hadoop是开源的分布式计算框架,核心包括MapReduce和HDFS,用于海量数据的存储和计算。具备高可靠性、高扩展性、高效率和低成本优势,但存在低延迟访问、小文件存储和多用户写入等问题。运行模式有单机、伪分布式和分布式。NameNode管理文件系统,DataNode存储数据并处理请求。Hadoop为大数据处理提供高效可靠的解决方案。
46 2
|
19天前
|
分布式计算 Hadoop 大数据
大数据技术与Python:结合Spark和Hadoop进行分布式计算
【4月更文挑战第12天】本文介绍了大数据技术及其4V特性,阐述了Hadoop和Spark在大数据处理中的作用。Hadoop提供分布式文件系统和MapReduce,Spark则为内存计算提供快速处理能力。通过Python结合Spark和Hadoop,可在分布式环境中进行数据处理和分析。文章详细讲解了如何配置Python环境、安装Spark和Hadoop,以及使用Python编写和提交代码到集群进行计算。掌握这些技能有助于应对大数据挑战。
|
1天前
|
分布式计算 DataWorks 大数据
MaxCompute产品使用合集之大数据计算MaxCompute如何实现通过离线同步脚本模式
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
12天前
|
分布式计算 负载均衡 Hadoop
Hadoop集群节点添加
Hadoop集群节点添加
|
16天前
|
分布式计算 资源调度 Hadoop
Hadoop【基础知识 03+04】【Hadoop集群资源管理器yarn】(图片来源于网络)(hadoop fs + hadoop dfs + hdfs dfs 使用举例)
【4月更文挑战第5天】Hadoop【基础知识 03】【Hadoop集群资源管理器yarn】(图片来源于网络)Hadoop【基础知识 04】【HDFS常用shell命令】(hadoop fs + hadoop dfs + hdfs dfs 使用举例)
44 9
|
18天前
|
分布式计算 资源调度 Hadoop
Hadoop【基础知识 03】【Hadoop集群资源管理器yarn】(图片来源于网络)
【4月更文挑战第4天】Hadoop【基础知识 03】【Hadoop集群资源管理器yarn】(图片来源于网络)
23 4
|
20天前
|
存储 分布式计算 Hadoop
【Hadoop】Hadoop的三种集群模式
【4月更文挑战第9天】【Hadoop】Hadoop的三种集群模式
|
20天前
|
SQL 分布式计算 Hadoop
利用Hive与Hadoop构建大数据仓库:从零到一
【4月更文挑战第7天】本文介绍了如何使用Apache Hive与Hadoop构建大数据仓库。Hadoop的HDFS和YARN提供分布式存储和资源管理,而Hive作为基于Hadoop的数据仓库系统,通过HiveQL简化大数据查询。构建过程包括设置Hadoop集群、安装配置Hive、数据导入与管理、查询分析以及ETL与调度。大数据仓库的应用场景包括海量数据存储、离线分析、数据服务化和数据湖构建,为企业决策和创新提供支持。
65 1
|
21天前
|
分布式计算 资源调度 Hadoop
Apache Hadoop入门指南:搭建分布式大数据处理平台
【4月更文挑战第6天】本文介绍了Apache Hadoop在大数据处理中的关键作用,并引导初学者了解Hadoop的基本概念、核心组件(HDFS、YARN、MapReduce)及如何搭建分布式环境。通过配置Hadoop、格式化HDFS、启动服务和验证环境,学习者可掌握基本操作。此外,文章还提及了开发MapReduce程序、学习Hadoop生态系统和性能调优的重要性,旨在为读者提供Hadoop入门指导,助其踏入大数据处理的旅程。
92 0
|
2月前
|
消息中间件 SQL 分布式计算
大数据Hadoop生态圈体系视频课程
熟悉大数据概念,明确大数据职位都有哪些;熟悉Hadoop生态系统都有哪些组件;学习Hadoop生态环境架构,了解分布式集群优势;动手操作Hbase的例子,成功部署伪分布式集群;动手Hadoop安装和配置部署;动手实操Hive例子实现;动手实现GPS项目的操作;动手实现Kafka消息队列例子等
21 1
大数据Hadoop生态圈体系视频课程