当前位置: 首页 > news >正文

Hadoop高可用集群(HA)一键启动脚本

高可用集群启动时,需要分别在每个节点上都执行zkServer.sh start启动zookeeper,这个过程比较麻烦,并且当我们节点增多时,这个过程无疑不增加了我们的工作量,因此我们可以写一个一键启动所有节点zookeeper的脚本

脚本实现:

1.进入/usr/bin目录,创建zkstart文件
2.打开zkstart文件,写入以下内容
#!/bin/bash# 定义节点的主机名或 IP 地址
node1="hadoop01"
node2="hadoop02"
node3="hadoop03"# 定义 ZooKeeper 的安装路径
zk_home="/opt/programs/apache-zookeeper-3.9.0-bin"# 启动 ZooKeeper
start_zookeeper() {echo "Starting ZooKeeper..."# 在每个节点上启动 ZooKeeper 服务器ssh -t $node1 "export JAVA_HOME=$JAVA_HOME; $zk_home/bin/zkServer.sh start"ssh -t $node2 "export JAVA_HOME=$JAVA_HOME; $zk_home/bin/zkServer.sh start"ssh -t $node3 "export JAVA_HOME=$JAVA_HOME; $zk_home/bin/zkServer.sh start"echo "ZooKeeper started successfully."
}# 执行命令
start_zookeeperexit 0

脚本中的 start_zookeeper 函数会在每个节点上启动 ZooKeeper 服务器。通过 SSH 连接到每个节点,并在每个节点上运行 zkServer.sh start 命令来启动 ZooKeeper。

一键关闭所有zookeeper的脚本即将该脚本中的zsServer.sh start改为stop即可。

如果要启动zookeeper并且也启动集群,那么可以在改脚本中接着加入启动HDFS和YARN的语句,如下所示:

#!/bin/bash# 定义节点的主机名或 IP 地址
node1="hadoop01"
node2="hadoop02"
node3="hadoop03"# 定义 ZooKeeper 的安装路径
zk_home="/opt/programs/apache-zookeeper-3.9.0-bin"
# 定义 jdk 的安装路径
JAVA_HOME=/opt/programs/jdk1.8.0_371
PATH=$JAVA_HOME/bin:$PATH# 启动 ZooKeeper
start_zookeeper() {echo "Starting ZooKeeper..."# 在每个节点上启动 ZooKeeper 服务器ssh -t $node1 "export JAVA_HOME=$JAVA_HOME; $zk_home/bin/zkServer.sh start"ssh -t $node2 "export JAVA_HOME=$JAVA_HOME; $zk_home/bin/zkServer.sh start"ssh -t $node3 "export JAVA_HOME=$JAVA_HOME; $zk_home/bin/zkServer.sh start"echo "ZooKeeper started successfully."
}# 执行命令
start_zookeeperecho "Starting HDFS..."
start-dfs.shecho "HDFS started successfully"echo "Starting Yarn..."
start-yarn.shecho "Yarn started successfully"exit 0

注:若要改写为一键关闭的脚本不能直接改start-stop,需要严格按照先关闭YARN,接着关闭HDFS和zookeeper的顺序进行!

脚本如下:

#!/bin/bash# 定义节点的主机名或 IP 地址
node1="hadoop01"
node2="hadoop02"
node3="hadoop03"# 定义 ZooKeeper 的安装路径
zk_home="/opt/programs/apache-zookeeper-3.9.0-bin"
# 定义 jdk 的安装路径
JAVA_HOME=/opt/programs/jdk1.8.0_371
PATH=$JAVA_HOME/bin:$PATH# 启动 ZooKeeper
stop_zookeeper() {echo "Stopping ZooKeeper..."# 在每个节点上启动 ZooKeeper 服务器ssh -t $node1 "export JAVA_HOME=$JAVA_HOME; $zk_home/bin/zkServer.sh stop"ssh -t $node2 "export JAVA_HOME=$JAVA_HOME; $zk_home/bin/zkServer.sh stop"ssh -t $node3 "export JAVA_HOME=$JAVA_HOME; $zk_home/bin/zkServer.sh stop"echo "ZooKeeper stopped successfully."
}# 执行命令echo "Stopping Yarn..."
stop-yarn.shecho "Yarn stopped successfully"echo "Stopping HDFS..."
stop-dfs.shecho "HDFS stopped successfully"stop_zookeeperexit 0
3.所有脚本文件创建完成后,都要执行如下命令为其设置权限:
chmod 777 +文件名

相关文章:

Hadoop高可用集群(HA)一键启动脚本

高可用集群启动时,需要分别在每个节点上都执行zkServer.sh start启动zookeeper,这个过程比较麻烦,并且当我们节点增多时,这个过程无疑不增加了我们的工作量,因此我们可以写一个一键启动所有节点zookeeper的脚本 脚本实…...

C#开发的OpenRA游戏之金钱系统(1)

C#开发的OpenRA游戏之金钱系统(1) 设计一个游戏,肯定要有一个唯一的资源,用这个资源来管理整个游戏的进度,以及相互争夺的焦点。在OpenRA里,就是使用矿产资源。所以在地图上分布几个矿场,玩家就需要相互争夺矿场,谁开采多谁就更有钱,谁有钱了就可以升级更好的科技,以…...

Puppeteer监听网络请求、爬取网页图片(二)

Puppeteer监听网络请求、爬取网页图片(二) Puppeteer监听网络请求、爬取网页图片(二)一、爬取需求二、实现讲解三、效果查看 一、爬取需求 首先打开浏览器,打开指定网站监听网站发出的所有请求,记录请求&a…...

GoLang连接mysql数据库

跟着文档走GORM 指南 | GORM - The fantastic ORM library for Golang, aims to be developer friendly. 1.使用命令拉取 go get -u gorm.io/gorm go get -u gorm.io/driver/sqlite2.开始使用 package mainimport ("fmt""github.com/gin-gonic/gin"&…...

软件工程与计算总结(八)软件设计基础

一.设计思想的发展 1958:软件这个名词第一次在公开刊物上使用~60年代中后期and70年代前中期:结构化编程、逐步求精、自顶向下理念是程序设计主要方法70年代中后期and90年代:结构化设计方法、抽象数据类型、信息隐藏、封装、继承、多态等思想…...

someip 入门

什么是someip? SomeIP(Scalable Service-Oriented MiddlewarE over IP)是一种基于以太网的通信协议,用于汽车领域的通信。它允许不同的汽车电子控制单元(ECUs)之间通过网络进行通信,以便在车辆内…...

C# 使用Parallel去执行并行下载

直接上代码&#xff1a; //最大线程下载数量ParallelOptions options new ParallelOptions{MaxDegreeOfParallelism 5};public async Task DownloadMusicUrl(List<MusicTags> musicTags){DateTime currentTime DateTime.Now;DateTime startTime new DateTime(1970, 1…...

@Component 和 @Bean的区别

Component 和 Bean 是Spring框架中用于管理和配置依赖注入的关键注解&#xff0c;用于定义和管理Spring应用程序中的组件。 Component: Component 是一种泛用型的Spring注解&#xff0c;用于标识一个类为Spring组件。Spring会自动扫描所有带有Component 注解的类&#xff0c;并…...

百度测试开发工程师面试心得

百度测试开发实习生面试心得&#xff1a; 电话面试&#xff1a; 面试官&#xff1a;首先做一下自我介绍吧 我&#xff1a;我是***&#xff0c;来自什么大学&#xff0c;现在大三&#xff0c;在学校期间担任过部长&#xff0c;副主席等职务&#xff0c; 组织举办了很多比赛&…...

发现更多美景!XnViewMP for Mac/Windows 图片浏览软件

想要轻松快捷地浏览、管理和编辑您的照片吗&#xff1f;XnViewMP for Mac 是您的最佳选择&#xff01;这款强大而多功能的图片浏览软件将给您带来全新的视觉体验。 借助 XnViewMP&#xff0c;您可以方便地浏览各种图片格式&#xff0c;包括JPEG、PNG、GIF等&#xff0c;并支持…...

城市广告牌安全传感器特点有哪些?

城市广告牌安全传感器特点有哪些&#xff1f; 在现代快节奏的都市生活中&#xff0c;城市的广告牌成为不可或缺的一部分&#xff0c;以各种形式和大小存在于城市的街头巷尾&#xff0c;商业中心和交通要道。广告牌是城市生命线组成的一部分。但是由于天气因素、材料老化、不当维…...

源码部署lamt架构

源码部署lamt架构 lamt由apache&#xff0c;mysql&#xff0c;tomcat三者组成 文章目录 源码部署lamt架构1.准备工作1.1.配置yum源&#xff0c;关闭防火墙和selinux1.2.拉取相应源码包 2.安装apache3.安装mariadb4.安装tomcat 1.准备工作 1.1.配置yum源&#xff0c;关闭防火墙…...

【Java 进阶篇】JavaScript Math对象详解

在JavaScript编程中&#xff0c;Math对象是一个非常有用的工具&#xff0c;用于执行各种数学运算。它提供了许多数学函数和常数&#xff0c;可以用于处理数字、执行几何运算、生成随机数等。在本篇博客中&#xff0c;我们将深入探讨JavaScript中Math对象的各种功能和用法。 什…...

geecg-uniapp 路由修改 页面创建 (2)

一&#xff0c;增加页面 添加路由 &#xff08;1&#xff09;我们以home的常用服务 当作示例 我们修改 usList 数据 &#xff08;2&#xff09;查找对应路径 work.js 目前荒石对应的路径跳转 helloword 我们修改成 huang &#xff08;3&#xff09;修改跳转路径 修…...

微信开发者工具下载

一、微信开发者工具下载官网 微信开发者工具下载地址与更新日志 | 微信开放文档 (qq.com) 二、微信开发者工具界面 下载安装好后&#xff0c;软件图标如下图所示。 运行软件如下图所示&#xff0c;这时候就需要使用你的管理员账号扫码登录。 登陆后的界面&#xff0c;如下图…...

ctfshow萌新计划web9-14(正则匹配绕过)

目录 web9 web10 web11 web12 web13 web14 web9 审一下代码&#xff0c;需要匹配到system|exec|highlight才会执行eval函数 先看一下当前目录下有什么 payload&#xff1a;?csystem(ls); index.php是首页&#xff0c;我们看看config.php payload&#xff1a;?csystem…...

【数据结构】单链表按位序插入元素e【前插】(带头结点的和不带头结点的)这篇很重要,文字说明比起其他篇是正确的

声明单链表的结构体成员 struct LNode {int data;struct LNode *next; };typedef struct LNode LNode;// 或者: 两者是等价的 typedef struct LNode {int data;struct LNode *next; }LNode;按位序插入元素e&#xff1a;就是在第i个位置插入新结点&#xff0c;数据域为e 以下带…...

Maven Surefire Exclude 无效问题排查日志

昨天有个需求,要在单元测试的时候单线程执行,并且只执行单元测试类特殊结尾的,那么根据以往经验,直接在maven里面配置exclude并且指定include即可。如下尝试 <plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-surefire-plugin&…...

ArcGIS笔记4_水动力模型验证不理想时如何修改局部水深地形

本文目录 前言Step 1 模型验证不理想的情况Step 2 修改确值点并重新插值 前言 本章主要服务于MIKE水动力模型的调整修改工作。水动力模型跑完之后&#xff0c;常常会出现验证结果不理想的情况&#xff0c;比如潮位验证中&#xff0c;实测站点数据与模拟数据相差很大&#xff0…...

介绍一下mysql有哪些索引类型

以下是MySQL的8种不同索引类型的比较&#xff0c;以帮助你了解它们的特点和适用场景&#xff1a; 索引类型用途和特点适用场景B-Tree 索引用于范围查询、等值查找和排序操作大多数查询 &#xff0c;不适合全文搜索和空间数据。唯一索引保证索引列的值唯一&#xff0c;不允许重…...

[2025CVPR]DeepVideo-R1:基于难度感知回归GRPO的视频强化微调框架详解

突破视频大语言模型推理瓶颈,在多个视频基准上实现SOTA性能 一、核心问题与创新亮点 1.1 GRPO在视频任务中的两大挑战 ​安全措施依赖问题​ GRPO使用min和clip函数限制策略更新幅度,导致: 梯度抑制:当新旧策略差异过大时梯度消失收敛困难:策略无法充分优化# 传统GRPO的梯…...

idea大量爆红问题解决

问题描述 在学习和工作中&#xff0c;idea是程序员不可缺少的一个工具&#xff0c;但是突然在有些时候就会出现大量爆红的问题&#xff0c;发现无法跳转&#xff0c;无论是关机重启或者是替换root都无法解决 就是如上所展示的问题&#xff0c;但是程序依然可以启动。 问题解决…...

基于服务器使用 apt 安装、配置 Nginx

&#x1f9fe; 一、查看可安装的 Nginx 版本 首先&#xff0c;你可以运行以下命令查看可用版本&#xff1a; apt-cache madison nginx-core输出示例&#xff1a; nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...

理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端

&#x1f31f; 什么是 MCP&#xff1f; 模型控制协议 (MCP) 是一种创新的协议&#xff0c;旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议&#xff0c;它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...

EtherNet/IP转DeviceNet协议网关详解

一&#xff0c;设备主要功能 疆鸿智能JH-DVN-EIP本产品是自主研发的一款EtherNet/IP从站功能的通讯网关。该产品主要功能是连接DeviceNet总线和EtherNet/IP网络&#xff0c;本网关连接到EtherNet/IP总线中做为从站使用&#xff0c;连接到DeviceNet总线中做为从站使用。 在自动…...

图表类系列各种样式PPT模版分享

图标图表系列PPT模版&#xff0c;柱状图PPT模版&#xff0c;线状图PPT模版&#xff0c;折线图PPT模版&#xff0c;饼状图PPT模版&#xff0c;雷达图PPT模版&#xff0c;树状图PPT模版 图表类系列各种样式PPT模版分享&#xff1a;图表系列PPT模板https://pan.quark.cn/s/20d40aa…...

.Net Framework 4/C# 关键字(非常用,持续更新...)

一、is 关键字 is 关键字用于检查对象是否于给定类型兼容,如果兼容将返回 true,如果不兼容则返回 false,在进行类型转换前,可以先使用 is 关键字判断对象是否与指定类型兼容,如果兼容才进行转换,这样的转换是安全的。 例如有:首先创建一个字符串对象,然后将字符串对象隐…...

免费PDF转图片工具

免费PDF转图片工具 一款简单易用的PDF转图片工具&#xff0c;可以将PDF文件快速转换为高质量PNG图片。无需安装复杂的软件&#xff0c;也不需要在线上传文件&#xff0c;保护您的隐私。 工具截图 主要特点 &#x1f680; 快速转换&#xff1a;本地转换&#xff0c;无需等待上…...

Git常用命令完全指南:从入门到精通

Git常用命令完全指南&#xff1a;从入门到精通 一、基础配置命令 1. 用户信息配置 # 设置全局用户名 git config --global user.name "你的名字"# 设置全局邮箱 git config --global user.email "你的邮箱example.com"# 查看所有配置 git config --list…...

MinIO Docker 部署:仅开放一个端口

MinIO Docker 部署:仅开放一个端口 在实际的服务器部署中,出于安全和管理的考虑,我们可能只能开放一个端口。MinIO 是一个高性能的对象存储服务,支持 Docker 部署,但默认情况下它需要两个端口:一个是 API 端口(用于存储和访问数据),另一个是控制台端口(用于管理界面…...