单节点大数据平台运维脚本
单节点的大数据集群运维脚本
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表格…...
牛客禁用题:求阶乘
思路:在新类中使用全局变量进行运算,在主类中定义新类数组,通过构造函数的调用次数返回阶乘 #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 类,这个类实现了检索 META-INF/spring.factories 文件,并获取指定接口的配置的功能。 Spring Factories机制提供了一种解耦容器注入的方式,帮助外部包&am…...
数据库-第二/三章 关系数据库和标准语言SQL【期末复习|考研复习】
前言 总结整理不易,希望大家点赞收藏。 给大家整理了一下计数据库系统概论中的重点概念,以供大家期末复习和考研复习的时候使用。 参考资料是王珊老师和萨师煊老师的数据库系统概论(第五版)。 文章目录 前言第二、三章 关系数据库和标准语言SQL2.1 关系2…...
【办公类-21-05】20240227单个word按“段落数”拆分多个Word(成果汇编 只有段落文字 1拆5)
作品展示 背景需求 前文对一套带有段落文字和表格的word进行13份拆分 【办公类-21-04】20240227单个word按“段落数”拆分多个Word(三级育婴师操作参考题目1拆13份)-CSDN博客文章浏览阅读293次,点赞8次,收藏3次。【办公类-21-04…...
【前端素材】推荐优质后台管理系统网页my-Task平台模板(附源码)
一、需求分析 1、系统定义 后台管理系统是一种用于管理网站、应用程序或系统的工具,通常由管理员使用。后台管理系统是一种用于管理和控制网站、应用程序或系统的管理界面。它通常被设计用来让网站或应用程序的管理员或运营人员管理内容、用户、数据以及其他相关功…...
Linux高负载排查最佳实践
在Linux系统中,经常会因为负载过高导致各种性能问题。那么如何进行排查,其实是有迹可循,而且模式固定。 本次就来分享一下,CPU占用过高、磁盘IO占用过高的排查方法。 还是那句话,以最佳实践入手,真传一句话…...
【python开发】网络编程(上)
这里写目录标题 一、必备基础(一)网络架构1、交换机2、路由器3、三层交换机4、小型企业基础网络架构5、家庭网络架构6、互联网 (二)网络核心词汇1、子网掩码和IP2、DHCP3、内网和公网IP4、云服务器5、端口6、域名 一、必备基础 &…...
php源码 单色bmp图片取模工具 按任意方式取模 生成字节数组 自由编辑点阵
http://2.wjsou.com/BMP/index.html 想试试chatGPT4生成,还是要手工改 php 写一个网页界面上可以选择一张bmp图片,界面上就显示这张bmp图片, 点生成取模按钮,在图片下方会显示这张bmp图片的取模数据。 取模规则是按界面设置的&a…...
设计模式-命令模式(Command Pattern)
承接Qt/C软件开发项目,高质量交付,灵活沟通,长期维护支持。需求所寻,技术正适,共创完美,欢迎私信联系! 一、命令模式的说明 命令模式(Command Pattern)是一种行为设计模式…...
鸿蒙Harmony应用开发—ArkTS声明式开发(通用属性:位置设置)
设置组件的对齐方式、布局方向和显示位置。 说明: 从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 align align(value: Alignment) 设置容器元素绘制区域内的子元素的对齐方式。 卡片能力: 从API…...
ShardingJdbc实战-分库分表
文章目录 基本配置分库分表的分片策略一、inline 行表达时分片策略algorithm-expression行表达式完整案例和配置如下 二、根据实时间日期 - 按照标准规则分库分表标准分片 - Standard完整案例和配置如下 基本配置 逻辑表 逻辑表是指:水平拆分的数据库或者数据表的相…...
51单片机-(定时/计数器)
51单片机-(定时/计数器) 了解CPU时序、特殊功能寄存器和定时/计数器工作原理,以定时器0实现每次间隔一秒亮灯一秒的实验为例理解定时/计数器的编程实现。 1.CPU时序 1.1.四个周期 振荡周期:为单片机提供定时信号的振荡源的周期…...
midjourney提示词语法
更高级的提示可以包括一个或多个图像URL、多个文本短语和一个或更多个参数 Image Prompts 可以将图像URL添加到提示中,以影响最终结果的样式和内容。图像URL总是位于提示的前面。 https://docs.midjourney.com/image-prompts Text Prompt 要生成的图像的文本描述。…...
【鸿蒙 HarmonyOS 4.0】路由router
一、介绍 页面路由指在应用程序中实现不同页面之间的跳转和数据传递。HarmonyOS提供了Router模块,通过不同的url地址,可以方便地进行页面路由,轻松地访问不同的页面。 二、页面跳转 2.1、两种跳转模式: router.pushUrl()&…...
AT24C1024的模拟IIC驱动
AT24C1024是基于IIC的EEPROM,容量为1024/8128k bytes。它的引脚如下: 其中A1,A2为硬件地址引脚 WP为写保护引脚,一般我们需要读写,需要接低电平GND,接高的话则仅允许读 SDA和SCL则为IIC通信引脚 芯片通信采用IIC&…...
Stable Diffusion生成式扩散模型代码实现原理
Stable Diffusion可以使用PyTorch或TensorFlow等深度学习框架来实现。这些框架提供了一系列的工具和函数,使得开发者可以更方便地构建、训练和部署深度学习模型。因此可以使用PyTorch或TensorFlow来实现Stable Diffusion模型。 安装PyTorch:确保您已经安…...
解决Keepalived “脑裂”(双VIP)问题
1. 检查广播情况 yum install tcpdump -y tcpdump -i ens33 vrrp -n master 192.168.80.130 与 backup: 192.168.80.131都在广播,正常情况下backup应该是不在广播的,所以可以判断存在防火墙屏蔽vrrp问题,需要设置VRRP过掉防火墙࿰…...
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视频预览神器
终极指南:如何在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:用Log追踪ActiveTransition与Handler匹配过程 在Android 14的窗口动画系统中,ShellTransitions机制扮演着核心角色。作为一名长期深耕Android系统开发的工程师,我最近在定制ROM时遇到了一个典型问题&a…...
O-LoRA实战指南:如何通过正交子空间学习实现语言模型的持续学习
1. 什么是O-LoRA?为什么它能让大模型持续学习新技能? 想象你正在教一个学霸高中生学习新知识。传统方法就像让他不断背诵新课本,结果发现上周学的物理公式全忘光了——这就是AI领域著名的"灾难性遗忘"问题。O-LoRA就像给这个学霸配…...
别只盯着IV曲线!用Silvaco TCAD深挖电阻仿真的5个隐藏玩法
别只盯着IV曲线!用Silvaco TCAD深挖电阻仿真的5个隐藏玩法 在半导体器件仿真领域,电阻模型常被视为入门级的"Hello World"案例。但正是这种看似简单的结构,往往蕴含着最基础却最容易被忽视的物理本质。本文将带你跳出标准例程的框…...
甲骨文创始人拉里·埃里森的5个疯狂商业决策:从2000美元到千亿帝国的秘密
拉里埃里森的5个颠覆性商业决策:从硅谷异类到千亿帝国的战略密码 在科技行业的编年史中,很少有企业家像拉里埃里森这样将"反叛"与"成功"如此完美地融合。这位甲骨文创始人从不按常理出牌的商业哲学,创造了一个价值千亿美…...
新手必看!霜儿-汉服-造相Z-Turbo保姆级入门:从部署到生成第一张汉服图
新手必看!霜儿-汉服-造相Z-Turbo保姆级入门:从部署到生成第一张汉服图 想用AI生成古风汉服美图却不知从何入手?本文将带你零基础玩转"霜儿-汉服-造相Z-Turbo"模型,从部署到生成第一张汉服图只需10分钟。无需编程基础&a…...
DoL-Lyra 汉化美化整合包:三分钟打造个性化游戏体验
DoL-Lyra 汉化美化整合包:三分钟打造个性化游戏体验 【免费下载链接】DOL-CHS-MODS Degrees of Lewdity 整合 项目地址: https://gitcode.com/gh_mirrors/do/DOL-CHS-MODS 还在为《Degrees of Lewdity》英文界面而烦恼吗?想要为游戏角色换上精美立…...
从零到一:在CentOS 7上构建生产级Slurm计算集群
1. 为什么选择Slurm和CentOS 7的组合 在构建高性能计算集群时,资源管理器的选择往往让人头疼。我经历过Torque、LSF等各种方案的折腾,最后发现Slurm才是中小规模集群的"甜点"选择。这个开源工具不仅被全球TOP500超算广泛采用,更重要…...
直线式不干胶贴标机结构设计(说明书+CAD图纸+开题报告+任务书……)
直线式不干胶贴标机是包装行业常见的自动化设备,其核心作用是通过机械结构与控制逻辑的配合,实现标签的精准定位与高效粘贴。设备采用直线式布局,物料输送轨道与贴标头沿同一轴线排列,标签卷材经剥离机构分离后,由压标…...
