当前位置: 首页 > 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 +文件名

http://www.lryc.cn/news/192623.html

相关文章:

  • C#开发的OpenRA游戏之金钱系统(1)
  • Puppeteer监听网络请求、爬取网页图片(二)
  • GoLang连接mysql数据库
  • 软件工程与计算总结(八)软件设计基础
  • someip 入门
  • C# 使用Parallel去执行并行下载
  • @Component 和 @Bean的区别
  • 百度测试开发工程师面试心得
  • 发现更多美景!XnViewMP for Mac/Windows 图片浏览软件
  • 城市广告牌安全传感器特点有哪些?
  • 源码部署lamt架构
  • 【Java 进阶篇】JavaScript Math对象详解
  • geecg-uniapp 路由修改 页面创建 (2)
  • 微信开发者工具下载
  • ctfshow萌新计划web9-14(正则匹配绕过)
  • 【数据结构】单链表按位序插入元素e【前插】(带头结点的和不带头结点的)这篇很重要,文字说明比起其他篇是正确的
  • Maven Surefire Exclude 无效问题排查日志
  • ArcGIS笔记4_水动力模型验证不理想时如何修改局部水深地形
  • 介绍一下mysql有哪些索引类型
  • #力扣:125. 验证回文串@FDDLC
  • 分享一下便利店怎么做微信小程序
  • Gitlab CI/CD 入门教程
  • 【mfc/VS2022】计图实验:绘图工具设计知识笔记
  • C# PortraitModeFilter (人物图片)背景模糊
  • centos7下安装elasticsearch7.8.1并配置远程连接
  • MongoDB的作用和安装方法
  • spring boot 使用SSE向前端推送数据
  • C++智能指针(三)——unique_ptr初探
  • Composition Api 与 Options Api 有什么区别?
  • 紫光同创FPGA实现UDP协议栈网络视频传输,基于YT8511和RTL8211,提供4套PDS工程源码和技术支持