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

单节点大数据平台运维脚本

单节点的大数据集群运维脚本

vi /opt/bash/bigdata-operate-script.sh
#!/bin/bashsource ~/.bashrc
source /etc/profilehostname=bigdata#程序运行必要组件
important_components=("kafka" "clickhouse-server" "elasticsearch" "kibana")
#非必要组件
monitor_components=("prometheus" "node_exporter" "pushgateway" "kafka_exporter" "grafana")
#monitor脚本启动标志量
m_flag=0
#yarn上任务数
job_num_count=12
# Kafka 集群的地址
KAFKA_BROKER="$hostname:9092"#ES API
ES_API="http://$hostname:9200"
#Kibana API
KIBANA_API="http://$hostname:5601/api/status"
#如果需要,添加基本认证
ES_USER="ES用户名"
ES_PASS="ES密码"function start_component() {if ! systemctl is-active --quiet "$1"; thenecho "start $1"sudo systemctl start "$1"fi
}function check_status() {#检查HDFS状态#echo "========Check HDFS status========"if /usr/java/jdk1.8.0_212/bin/jps | grep -q NameNode && /usr/java/jdk1.8.0_212/bin/jps | grep -q DataNode && hadoop fs -ls / >/dev/null 2>&1; thenif hdfs dfsadmin -safemode get | grep -q ON; thenecho "HDFS in safe mode"elseecho "========HDFS is Running========"((m_flag++))fi       elseecho "--------HDFS is Not Running--------"fi#检查YARN状态#echo "========Check YARN status========"if /usr/java/jdk1.8.0_212/bin/jps | grep -q ResourceManager && /usr/java/jdk1.8.0_212/bin/jps | grep -q NodeManager && yarn node -list >/dev/null 2>&1; thenecho "========YARN is Running========"((m_flag++))elseecho "--------YARN is Not Running--------"fi#检查kafka状态#echo "========Check KAFKA status========"if kafka-topics.sh --bootstrap-server $KAFKA_BROKER --list >/dev/null 2>&1; thenecho "========Kafka cluster is Running========"((m_flag++))elseecho "--------Kafka cluster is Not Running--------"fi#检查clickhouse状态#echo "========Check clickhouse-server status========"if systemctl is-active --quiet clickhouse-server && clickhouse-client --port 9123 --user clickhouse --password clickhouse密码 --query "SELECT 1" >/dev/null 2>&1; thenecho "========ClickHouse-server service is Running========"((m_flag++))elseecho "--------ClickHouse-server service is Not Running--------"fi# 检查 Elasticsearch 服务状态if systemctl is-active --quiet elasticsearch && curl -s -u "$ES_USER:$ES_PASS" "$ES_API" >/dev/null 2>&1; thenecho "========Elasticsearch service is Running========"((m_flag++))elseecho "--------Elasticsearch service is Not Running--------"fi# 检查 Kibana 服务状态kibana_status=$(curl -s -u "$ES_USER:$ES_PASS" "$KIBANA_API" | /usr/local/bin/jq -r '.status.overall.state')if systemctl is-active --quiet kibana && [ "$kibana_status" == "green" ]; thenecho "========Kibana service is Running========"((m_flag++))elseecho "--------Kiaba service is Not Running--------"fi#检查监控组件状态for i in "${monitor_components[@]}"; doif systemctl is-active --quiet $i; thenecho "========$i service is Running========"elseecho "--------$i service is Not Running--------"fidone
}case $1 in
start)if ! /usr/java/jdk1.8.0_212/bin/jps | grep -q NameNode && ! hdfs dfsadmin -report >/dev/null 2>&1 && ! hadoop fs -ls / >/dev/null 2>&1; thenecho "start HDFS"/bin/bash /opt/module/hadoop-3.3.5/sbin/start-dfs.shfiif ! /usr/java/jdk1.8.0_212/bin/jps | grep -q ResourceManager && ! /usr/java/jdk1.8.0_212/bin/jps | grep -q NodeManager; thenecho "start Yarn"/bin/bash /opt/module/hadoop-3.3.5/sbin/start-yarn.shfifor i in "${important_components[@]}"; dostart_component "$i"donesleep 30for i in "${monitor_components[@]}"; dostart_component "$i"donesleep 20#检查组件状态check_status#判断是否满足启动任务条件if [ "$m_flag" -eq 6 ] && ! [ "$(curl -s http://$hostname:8088/ws/v1/cluster/metrics | /usr/local/bin/jq .clusterMetrics.appsRunning)" -eq $job_num_count ]; then/bin/bash /home/bigdata/job/dw3/monitor.shfi;;status)check_status;;stop)if /usr/java/jdk1.8.0_212/bin/jps | grep -q ResourceManager && /usr/java/jdk1.8.0_212/bin/jps | grep -q NodeManager; then#kill掉所有程序/bin/bash /home/bigdata/killAllApp.sh#判断程序是否都停掉if [ "$(curl -s http://$hostname:8088/ws/v1/cluster/metrics | /usr/local/bin/jq .clusterMetrics.appsRunning)" -eq "0" ]; then#关闭所有组件/bin/bash /opt/module/hadoop-3.3.5/sbin/stop-yarn.sh/bin/bash /opt/module/hadoop-3.3.5/sbin/stop-dfs.shfor i in "${important_components[@]}"; dosudo systemctl stop "$i"doneelseecho "Yarn上程序未停完,需手动停止"fififor i in "${monitor_components[@]}"; doif systemctl is-active --quiet $i; thenecho "========stop $i service========"sudo systemctl stop "$i"fidonecheck_status;;
*)echo "请输入合法的参数"echo "  start   启动所有组件集群"echo "  status  查看所有组件集群状态"echo "  stop    停止所有组件集群";;
esac

kill掉yarn所有带有ETL名字的任务

vi /home/bigdata/killAllApp.sh
#!/bin/bash
yarn application -list | grep 'ETL'| grep -v grep | awk '{print $1}' | xargs  yarn application -kill
echo -e "\033[1;33m============Yarn Application List============\033[0m"
yarn application -list

相关文章:

单节点大数据平台运维脚本

单节点的大数据集群运维脚本 vi /opt/bash/bigdata-operate-script.sh#!/bin/bashsource ~/.bashrc source /etc/profilehostnamebigdata#程序运行必要组件 important_components("kafka" "clickhouse-server" "elasticsearch" "kibana&qu…...

HTML基础知识

目录 1.初识网页 2.html:超文本标记语言 2.1排版标签 标题标签 段落标签 换行标签 水平线标签 2.2文本格式化标签 2.3媒体标签 图片标签 路径 音频标签 视频标签 2.4链接标签 2.5列表标签 2.5.1无序列表 2.5.2有序列表 2.5.3自定义列表 2.6表格…...

牛客禁用题:求阶乘

思路&#xff1a;在新类中使用全局变量进行运算&#xff0c;在主类中定义新类数组&#xff0c;通过构造函数的调用次数返回阶乘 #include <type_traits> class add{public:static int count;static int tmp;add(){countcounttmp;tmp;} }; int add::count0; int add::t…...

spring.factories的常用配置项

概述 spring.factories 实现是依赖 spring-core 包里的 SpringFactoriesLoader 类&#xff0c;这个类实现了检索 META-INF/spring.factories 文件&#xff0c;并获取指定接口的配置的功能。 Spring Factories机制提供了一种解耦容器注入的方式&#xff0c;帮助外部包&am…...

数据库-第二/三章 关系数据库和标准语言SQL【期末复习|考研复习】

前言 总结整理不易&#xff0c;希望大家点赞收藏。 给大家整理了一下计数据库系统概论中的重点概念&#xff0c;以供大家期末复习和考研复习的时候使用。 参考资料是王珊老师和萨师煊老师的数据库系统概论(第五版)。 文章目录 前言第二、三章 关系数据库和标准语言SQL2.1 关系2…...

【办公类-21-05】20240227单个word按“段落数”拆分多个Word(成果汇编 只有段落文字 1拆5)

作品展示 背景需求 前文对一套带有段落文字和表格的word进行13份拆分 【办公类-21-04】20240227单个word按“段落数”拆分多个Word&#xff08;三级育婴师操作参考题目1拆13份&#xff09;-CSDN博客文章浏览阅读293次&#xff0c;点赞8次&#xff0c;收藏3次。【办公类-21-04…...

【前端素材】推荐优质后台管理系统网页my-Task平台模板(附源码)

一、需求分析 1、系统定义 后台管理系统是一种用于管理网站、应用程序或系统的工具&#xff0c;通常由管理员使用。后台管理系统是一种用于管理和控制网站、应用程序或系统的管理界面。它通常被设计用来让网站或应用程序的管理员或运营人员管理内容、用户、数据以及其他相关功…...

Linux高负载排查最佳实践

在Linux系统中&#xff0c;经常会因为负载过高导致各种性能问题。那么如何进行排查&#xff0c;其实是有迹可循&#xff0c;而且模式固定。 本次就来分享一下&#xff0c;CPU占用过高、磁盘IO占用过高的排查方法。 还是那句话&#xff0c;以最佳实践入手&#xff0c;真传一句话…...

【python开发】网络编程(上)

这里写目录标题 一、必备基础&#xff08;一&#xff09;网络架构1、交换机2、路由器3、三层交换机4、小型企业基础网络架构5、家庭网络架构6、互联网 &#xff08;二&#xff09;网络核心词汇1、子网掩码和IP2、DHCP3、内网和公网IP4、云服务器5、端口6、域名 一、必备基础 &…...

php源码 单色bmp图片取模工具 按任意方式取模 生成字节数组 自由编辑点阵

http://2.wjsou.com/BMP/index.html 想试试chatGPT4生成&#xff0c;还是要手工改 php 写一个网页界面上可以选择一张bmp图片&#xff0c;界面上就显示这张bmp图片&#xff0c; 点生成取模按钮&#xff0c;在图片下方会显示这张bmp图片的取模数据。 取模规则是按界面设置的&a…...

设计模式-命令模式(Command Pattern)

承接Qt/C软件开发项目&#xff0c;高质量交付&#xff0c;灵活沟通&#xff0c;长期维护支持。需求所寻&#xff0c;技术正适&#xff0c;共创完美&#xff0c;欢迎私信联系&#xff01; 一、命令模式的说明 命令模式&#xff08;Command Pattern&#xff09;是一种行为设计模式…...

鸿蒙Harmony应用开发—ArkTS声明式开发(通用属性:位置设置)

设置组件的对齐方式、布局方向和显示位置。 说明&#xff1a; 从API Version 7开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版本。 align align(value: Alignment) 设置容器元素绘制区域内的子元素的对齐方式。 卡片能力&#xff1a; 从API…...

ShardingJdbc实战-分库分表

文章目录 基本配置分库分表的分片策略一、inline 行表达时分片策略algorithm-expression行表达式完整案例和配置如下 二、根据实时间日期 - 按照标准规则分库分表标准分片 - Standard完整案例和配置如下 基本配置 逻辑表 逻辑表是指&#xff1a;水平拆分的数据库或者数据表的相…...

51单片机-(定时/计数器)

51单片机-&#xff08;定时/计数器&#xff09; 了解CPU时序、特殊功能寄存器和定时/计数器工作原理&#xff0c;以定时器0实现每次间隔一秒亮灯一秒的实验为例理解定时/计数器的编程实现。 1.CPU时序 1.1.四个周期 振荡周期&#xff1a;为单片机提供定时信号的振荡源的周期…...

midjourney提示词语法

更高级的提示可以包括一个或多个图像URL、多个文本短语和一个或更多个参数 Image Prompts 可以将图像URL添加到提示中&#xff0c;以影响最终结果的样式和内容。图像URL总是位于提示的前面。 https://docs.midjourney.com/image-prompts Text Prompt 要生成的图像的文本描述。…...

【鸿蒙 HarmonyOS 4.0】路由router

一、介绍 页面路由指在应用程序中实现不同页面之间的跳转和数据传递。HarmonyOS提供了Router模块&#xff0c;通过不同的url地址&#xff0c;可以方便地进行页面路由&#xff0c;轻松地访问不同的页面。 二、页面跳转 2.1、两种跳转模式&#xff1a; router.pushUrl()&…...

AT24C1024的模拟IIC驱动

AT24C1024是基于IIC的EEPROM&#xff0c;容量为1024/8128k bytes。它的引脚如下&#xff1a; 其中A1,A2为硬件地址引脚 WP为写保护引脚&#xff0c;一般我们需要读写&#xff0c;需要接低电平GND&#xff0c;接高的话则仅允许读 SDA和SCL则为IIC通信引脚 芯片通信采用IIC&…...

Stable Diffusion生成式扩散模型代码实现原理

Stable Diffusion可以使用PyTorch或TensorFlow等深度学习框架来实现。这些框架提供了一系列的工具和函数&#xff0c;使得开发者可以更方便地构建、训练和部署深度学习模型。因此可以使用PyTorch或TensorFlow来实现Stable Diffusion模型。 安装PyTorch&#xff1a;确保您已经安…...

解决Keepalived “脑裂”(双VIP)问题

1. 检查广播情况 yum install tcpdump -y tcpdump -i ens33 vrrp -n master 192.168.80.130 与 backup: 192.168.80.131都在广播&#xff0c;正常情况下backup应该是不在广播的&#xff0c;所以可以判断存在防火墙屏蔽vrrp问题&#xff0c;需要设置VRRP过掉防火墙&#xff0…...

cAdvisor+Prometheus+Grafana 搞定Docker容器监控平台

cAdvisorPrometheusGrafana cAdvisorPrometheusGrafana 搞定Docker容器监控平台1、先给虚拟机上传cadvisor2、What is Prometheus?2.1、架构图 3、利用docker安装普罗米修斯4、安装grafana cAdvisorPrometheusGrafana 搞定Docker容器监控平台 1、先给虚拟机上传cadvisor cAd…...

终极指南:如何在macOS上快速安装QLVideo视频预览神器

终极指南&#xff1a;如何在macOS上快速安装QLVideo视频预览神器 【免费下载链接】QuickLookVideo This package allows macOS Finder to display thumbnails, static QuickLook previews, cover art and metadata for most types of video files. 项目地址: https://gitcode…...

Excel数据导入与批处理脚本的完美结合

在日常工作中,我们常常需要处理大量的重复性工作,而这些工作如果能够通过自动化脚本来完成,无疑会极大地提高我们的工作效率。本文将介绍如何利用一个简单的批处理脚本(.bat文件),结合Excel数据,实现自动打开多个账户页面的功能。 问题背景 假设我们有一个Excel文档,…...

手把手调试Android 14 ShellTransitions:用Log追踪ActiveTransition与Handler匹配过程

手把手调试Android 14 ShellTransitions&#xff1a;用Log追踪ActiveTransition与Handler匹配过程 在Android 14的窗口动画系统中&#xff0c;ShellTransitions机制扮演着核心角色。作为一名长期深耕Android系统开发的工程师&#xff0c;我最近在定制ROM时遇到了一个典型问题&a…...

O-LoRA实战指南:如何通过正交子空间学习实现语言模型的持续学习

1. 什么是O-LoRA&#xff1f;为什么它能让大模型持续学习新技能&#xff1f; 想象你正在教一个学霸高中生学习新知识。传统方法就像让他不断背诵新课本&#xff0c;结果发现上周学的物理公式全忘光了——这就是AI领域著名的"灾难性遗忘"问题。O-LoRA就像给这个学霸配…...

别只盯着IV曲线!用Silvaco TCAD深挖电阻仿真的5个隐藏玩法

别只盯着IV曲线&#xff01;用Silvaco TCAD深挖电阻仿真的5个隐藏玩法 在半导体器件仿真领域&#xff0c;电阻模型常被视为入门级的"Hello World"案例。但正是这种看似简单的结构&#xff0c;往往蕴含着最基础却最容易被忽视的物理本质。本文将带你跳出标准例程的框…...

甲骨文创始人拉里·埃里森的5个疯狂商业决策:从2000美元到千亿帝国的秘密

拉里埃里森的5个颠覆性商业决策&#xff1a;从硅谷异类到千亿帝国的战略密码 在科技行业的编年史中&#xff0c;很少有企业家像拉里埃里森这样将"反叛"与"成功"如此完美地融合。这位甲骨文创始人从不按常理出牌的商业哲学&#xff0c;创造了一个价值千亿美…...

新手必看!霜儿-汉服-造相Z-Turbo保姆级入门:从部署到生成第一张汉服图

新手必看&#xff01;霜儿-汉服-造相Z-Turbo保姆级入门&#xff1a;从部署到生成第一张汉服图 想用AI生成古风汉服美图却不知从何入手&#xff1f;本文将带你零基础玩转"霜儿-汉服-造相Z-Turbo"模型&#xff0c;从部署到生成第一张汉服图只需10分钟。无需编程基础&a…...

DoL-Lyra 汉化美化整合包:三分钟打造个性化游戏体验

DoL-Lyra 汉化美化整合包&#xff1a;三分钟打造个性化游戏体验 【免费下载链接】DOL-CHS-MODS Degrees of Lewdity 整合 项目地址: https://gitcode.com/gh_mirrors/do/DOL-CHS-MODS 还在为《Degrees of Lewdity》英文界面而烦恼吗&#xff1f;想要为游戏角色换上精美立…...

从零到一:在CentOS 7上构建生产级Slurm计算集群

1. 为什么选择Slurm和CentOS 7的组合 在构建高性能计算集群时&#xff0c;资源管理器的选择往往让人头疼。我经历过Torque、LSF等各种方案的折腾&#xff0c;最后发现Slurm才是中小规模集群的"甜点"选择。这个开源工具不仅被全球TOP500超算广泛采用&#xff0c;更重要…...

直线式不干胶贴标机结构设计(说明书+CAD图纸+开题报告+任务书……)

直线式不干胶贴标机是包装行业常见的自动化设备&#xff0c;其核心作用是通过机械结构与控制逻辑的配合&#xff0c;实现标签的精准定位与高效粘贴。设备采用直线式布局&#xff0c;物料输送轨道与贴标头沿同一轴线排列&#xff0c;标签卷材经剥离机构分离后&#xff0c;由压标…...