单节点大数据平台运维脚本
单节点的大数据集群运维脚本
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…...
HTML 语义化
目录 HTML 语义化HTML5 新特性HTML 语义化的好处语义化标签的使用场景最佳实践 HTML 语义化 HTML5 新特性 标准答案: 语义化标签: <header>:页头<nav>:导航<main>:主要内容<article>&#x…...
基于大模型的 UI 自动化系统
基于大模型的 UI 自动化系统 下面是一个完整的 Python 系统,利用大模型实现智能 UI 自动化,结合计算机视觉和自然语言处理技术,实现"看屏操作"的能力。 系统架构设计 #mermaid-svg-2gn2GRvh5WCP2ktF {font-family:"trebuchet ms",verdana,arial,sans-…...
Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务
通过akshare库,获取股票数据,并生成TabPFN这个模型 可以识别、处理的格式,写一个完整的预处理示例,并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务,进行预测并输…...
在Ubuntu中设置开机自动运行(sudo)指令的指南
在Ubuntu系统中,有时需要在系统启动时自动执行某些命令,特别是需要 sudo权限的指令。为了实现这一功能,可以使用多种方法,包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法,并提供…...
SpringTask-03.入门案例
一.入门案例 启动类: package com.sky;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCach…...
网络编程(UDP编程)
思维导图 UDP基础编程(单播) 1.流程图 服务器:短信的接收方 创建套接字 (socket)-----------------------------------------》有手机指定网络信息-----------------------------------------------》有号码绑定套接字 (bind)--------------…...
优选算法第十二讲:队列 + 宽搜 优先级队列
优选算法第十二讲:队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...
Linux离线(zip方式)安装docker
目录 基础信息操作系统信息docker信息 安装实例安装步骤示例 遇到的问题问题1:修改默认工作路径启动失败问题2 找不到对应组 基础信息 操作系统信息 OS版本:CentOS 7 64位 内核版本:3.10.0 相关命令: uname -rcat /etc/os-rele…...
【VLNs篇】07:NavRL—在动态环境中学习安全飞行
项目内容论文标题NavRL: 在动态环境中学习安全飞行 (NavRL: Learning Safe Flight in Dynamic Environments)核心问题解决无人机在包含静态和动态障碍物的复杂环境中进行安全、高效自主导航的挑战,克服传统方法和现有强化学习方法的局限性。核心算法基于近端策略优化…...
云原生安全实战:API网关Kong的鉴权与限流详解
🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、基础概念 1. API网关(API Gateway) API网关是微服务架构中的核心组件,负责统一管理所有API的流量入口。它像一座…...
