集群节点批量执行 shell 命令
1、SSH 工具本身支持多窗口
比如 MobaXterm:


2、编写脚本通过 ssh 在多台机器批量执行shell命令
创建 ssh_hosts 配置文件,定义需要批量执行的节点(必须能够通过 ssh 免密登录,且存在同名用户)
vim ssh_hosts
bigdata0
bigdata1
创建 dosshcmd.sh 脚本:
vim dosshcmd.sh
#! /bin/shdoSshCmd() {hosts=`sed -n '/^[^#]/p' /home/z/scripts/ssh_hosts`for host in $hostsdo echo \[**************** HOST: $host ****************]ssh $host "$@"echo ""donereturn 0
}
if [ $# -lt 1 ]
thenecho "$0 cmd"exit
fi
echo CMD: "$@"
doSshCmd "$@
赋予执行权限
chmod u+x dosshcmd.sh
3、验证:
1) 验证简单命令:
[root@bigdata0 scripts]# ./dosshcmd.sh free -g
CMD: free -g
[**************** HOST: bigdata0 ****************]total used free shared buff/cache available
Mem: 93 13 31 0 49 79
Swap: 3 0 3
[**************** HOST: bigdata1 ****************]total used free shared buff/cache available
Mem: 93 15 2 0 75 77
Swap: 3 0 3
2) 验证脚本执行:
编写一个通过 jps 找到 pid,然后通过 ps 查看进程信息的简单脚本:
vim find_java_resources.sh
#! /bin/sh
pids=`jps|grep -i "$1"| cut -d ' ' -f 1`
echo ----find pids: $pids
for pid in $pids
doecho ----PID: $pid----if [ $# -eq 1 ];then ps -q $pid -aux|awk '{print $1, $2, $3, $4, $5, $6, $7, $8, $9, $10}'|column -t elseps -q $pid ${@:2}|awk '{print $1, $2, $3, $4, $5, $6, $7, $8, $9, $10}'|column -tfiecho " "
done
赋予执行权限
chmod u+x find_java_resources.sh
分发:
[root@bigdata0 scripts]# scp find_java_resources.sh bigdata1:`pwd`
find_java_resources.sh 100% 265 0.3KB/s 00:00
[root@bigdata0 scripts]#
查看集群每个节点 yarn 任务资源占用
[root@bigdata0 scripts]# ./dosshcmd.sh /home/z/scripts/find_java_resources.sh yarn
CMD: /home/z/scripts/find_java_resources.sh yarn
[**************** HOST: bigdata0 ****************]
----find pids: 31878 31879
----PID: 31878----
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME
root 31878 24.7 1.2 26774340 1204428 ? Sl 11:10 2:49 ----PID: 31879----
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME
root 31879 25.9 1.2 26743664 1210208 ? Sl 11:10 2:57
[**************** HOST: bigdata1 ****************]
----find pids: 30703
----PID: 30703----
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME
root 30703 24.4 2.9 26776844 2854336 ? Sl 11:14 2:48
也可以用 watch 监控
watch "./dosshcmd.sh /home/z/scripts/find_java_resources.sh yarn"
相关文章:
集群节点批量执行 shell 命令
1、SSH 工具本身支持多窗口 比如 MobaXterm: 2、编写脚本通过 ssh 在多台机器批量执行shell命令 创建 ssh_hosts 配置文件,定义需要批量执行的节点(必须能够通过 ssh 免密登录,且存在同名用户) vim ssh_hostsbig…...
fl studio21.2水果软件怎么设置中文?
FL Studio编曲软件真的是个神器,不过一开始打开看到全是英文,有点头大,对吧?其实切换成中文版超级简单,只需要几个步骤就搞定啦!我自己也是用中文版的,觉得用起来更得心应手,效率也提…...
.NET CORE 3.1 集成JWT鉴权和授权2
JWT:全称是JSON Web Token是目前最流行的跨域身份验证、分布式登录、单点登录等解决方案。 通俗地来讲,JWT是能代表用户身份的令牌,可以使用JWT令牌在api接口中校验用户的身份以确认用户是否有访问api的权限。 授权:这是使用JWT的…...
nbcio-boot如何进行gitee第三方登录
更多nbcio-boot功能请看演示系统 gitee源代码地址 后端代码: https://gitee.com/nbacheng/nbcio-boot 前端代码:https://gitee.com/nbacheng/nbcio-vue.git 在线演示(包括H5) : http://122.227.135.243:9888 1、用户g…...
【C语言】字符函数、字符串函数与内存函数
简单不先于复杂,而是在复杂之后。 目录 0. 前言 1. 函数介绍 1.1 strlen 1.1.1 介绍 1.1.2 strlen 函数模拟实现 1.1.2.1 计数器方法 1.1.2.2 递归方法 1.1.2.3 指针 - 指针方法 1.2 strcpy 1.2.1 介绍 1.2.2 strcpy 函数模拟实现 1.3 strcat 1…...
生成树协议:监控 STP 端口和交换机
什么是生成树协议 生成树协议 (STP) 用于网络交换机,以防止循环和广播风暴。在局域网 (LAN) 中,两条或多条冗余路径可以连接到同一网段。当交换机或网桥从所有可用端口传输帧时,这些帧开始在网…...
【黑产攻防道03】利用JS参数更新检测黑产的协议破解
任何业务在运营一段时间之后都会面临黑产大量的破解。验证码和各种爬虫的关系就像猫和老鼠一样, 会永远持续地进行博弈。极验根据十一年和黑产博弈对抗的经验,将黑产的破解方式分为三类: 1.通过识别出验证码图片答案实现批量破解验证,即图片…...
什么是web3.0?
Web 3.0,也常被称为下一代互联网,代表着互联网的下一个重大演变。尽管关于Web 3.0的确切定义尚无共识,但它通常被认为是一种更分散、更开放且更智能的互联网。 以下是Web 3.0的一些主要特征和概念: 1. 去中心化 Web 3.0旨在减少…...
二、W5100S/W5500+RP2040树莓派Pico<DHCP>
文章目录 1 前言2 简介2 .1 什么是DHCP?2.2 为什么要使用DHCP?2.3 DHCP工作原理2.4 DHCP应用场景 3 WIZnet以太网芯片4 DHCP网络设置示例概述以及使用4.1 流程图4.2 准备工作核心4.3 连接方式4.4 主要代码概述4.5 结果演示 5 注意事项6 相关链接 1 前言 …...
【开源】基于SpringBoot的天然气工程业务管理系统的设计和实现
目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块三、使用角色3.1 施工人员3.2 管理员 四、数据库设计4.1 用户表4.2 分公司表4.3 角色表4.4 数据字典表4.5 工程项目表4.6 使用材料表4.7 使用材料领用表4.8 整体E-R图 五、系统展示六、核心代码6.1 查询工程项目6.2 工程物资…...
讯飞星火大模型V3.0 WebApi使用
讯飞星火大模型V3.0 WebApi使用 文档说明:星火认知大模型Web文档 | 讯飞开放平台文档中心 (xfyun.cn) 实现效果 初始化 首先构建一个基础脚手架项目 npm init vuelatest用到如下依赖 "dependencies": {"crypto-js": "^4.2.0",&q…...
拥有DOM力量的你究竟可以干什么
如果你希望访问 HTML 页面中的任何元素,那么您总是从访问 document 对象开始! 查找HTML元素 document.getElementById(id) 通过元素 id 来查找元素 <!DOCTYPE html> <html> <head><meta charset…...
GnuTLS recv error (-110): The TLS connection was non-properly terminated
ubuntu git下载提示 GnuTLS recv error (-110): The TLS connection was non-properly terminated解决方法 git config --global --unset http.https://github.com.proxy...
Notepad++安装插件和配置快捷键
Notepad是一款轻量级、开源的文件编辑工具,可以编辑、浏览文本文件、二进制文件、.cpp、.java、*.cs等文件。Notepad每隔1个月,就有一个新版本,其官网是: https://github.com/notepad-plus-plus/notepad-plus-plus。这里介绍其插件…...
iOS Autolayout 约束设置【顺序】的重要性!
0x00 顺序不同,结果不同 看图说话 1 代码是这样滴~ 设置好约束,让 4 个按钮,宽度均分~ 结果如上图 [_pastButton.topAnchor constraintEqualToAnchor:_textView.bottomAnchor constant:6].active YES;[_pastButton.leftAnchor constraintEq…...
Echarts渲染不报错但是没有内容
🔥博客主页: 破浪前进 🔖系列专栏: Vue、React、PHP ❤️感谢大家点赞👍收藏⭐评论✍️ 问题:在开发项目的时候使用了Echarts但是好端端的忽然就不渲染了 感觉很无语啊,毕竟好好的就不渲染了&am…...
数据结构 | 算法的时间复杂度和空间复杂度【详解】
数据结构 | 算法的时间复杂度和空间复杂度【详解】 1. 什么是数据结构? 数据结构(Data Structure)是计算机存储、组织数据的方式,指相互之间存在一种或多种特定关系的数据元素的集合。 2. 什么是算法? 算法(Algorithm):就是定义良好的计算过…...
高级篇之ENC编码器多机位帧同步配置详解
高级篇之ENC编码器多机位帧同步配置详解 一 帧同步方案多样性1. 配合vMIX导播的帧同步方案3. 配合硬件导播的帧同步方案3. 配合芯象导播的帧同步 二 帧同步方案1实现步骤1. 准备设备2. 搭建环境3 配置设备3.1 配置固定机位3.2 配置帧同步转发端3.3 配置vMIX 三 效果对比1 不开帧…...
matlab simulink 四旋翼跟拍无人机仿真
1、内容简介 略 7-可以交流、咨询、答疑 2、内容说明 四旋翼跟拍无人机仿真 四旋翼、无人机 需求分析 背景介绍 无人飞行机器人,是无人驾驶且具有一定智能的空中飞行器。这是一种融合了计算机技术、人工智能技术、传感器技术、自动控制技术、新型材料技术、导航…...
jenkins、ant、selenium、testng搭建自动化测试框架
如果在你的理解中自动化测试就是在eclipse里面讲webdriver的包引入,然后写一些测试脚本,这就是你所说的自动化测试,其实这个还不能算是真正的自动化测试,你见过每次需要运行的时候还需要打开eclipse然后去选择运行文件吗ÿ…...
pandas高效筛选技巧:如何精准匹配与排除DataFrame中的特定字符串列
1. 字符串筛选的常见场景与痛点 做数据分析的朋友们应该都遇到过这样的需求:从海量数据中快速找出包含特定关键词的记录。比如电商平台要筛选出所有包含"促销"字样的商品标题,或者客服系统需要过滤掉所有包含"投诉"关键词的工单。这…...
别再死记硬背了!用Wireshark抓包实战,5分钟搞懂TCP三次握手和HTTP请求全过程
用Wireshark抓包实战:5分钟可视化TCP三次握手与HTTP请求 刚接触计算机网络时,那些抽象的三次握手、滑动窗口、HTTP报文总让人头晕。直到我第一次用Wireshark看到真实的数据包在屏幕上跳动——原来教科书上的每个概念都能在抓包结果中找到对应的"证…...
gemma-3-12b-it多模态边界探索:对动态GIF首帧、视频缩略图的理解能力实测
gemma-3-12b-it多模态边界探索:对动态GIF首帧、视频缩略图的理解能力实测 1. 测试背景与目的 最近在多模态AI领域,Google推出的Gemma 3系列模型引起了广泛关注。特别是12B参数的指令调优版本gemma-3-12b-it,号称能够同时处理文本和图像输入…...
5个突破边界技巧:OpenSpeedy游戏变速工具深度优化指南
5个突破边界技巧:OpenSpeedy游戏变速工具深度优化指南 【免费下载链接】OpenSpeedy 🎮 An open-source game speed modifier. 项目地址: https://gitcode.com/gh_mirrors/op/OpenSpeedy 副标题:如何通过用户态Hook技术实现游戏帧率自由…...
小米笔记本Pro双固态硬盘实战:Win11与Ubuntu22.04双系统完美共存指南
1. 为什么选择双固态硬盘装双系统? 最近给小米笔记本Pro加装第二块NVMe固态硬盘的朋友越来越多,我自己也刚在2023款小米Pro上实现了Win11和Ubuntu22.04的双系统共存。相比传统单硬盘分区方案,双物理硬盘隔离安装有几个明显优势: 首…...
【2026年最新600套毕设项目分享】springboot仁和机构的体检预约系统(14336)
有需要的同学,源代码和配套文档领取,加文章最下方的名片哦 一、项目演示 项目演示视频 二、资料介绍 完整源代码(前后端源代码SQL脚本)配套文档(LWPPT开题报告/任务书)远程调试控屏包运行一键启动项目&…...
别再只会apt autoremove了!dpkg报错Sub-process returned error code (1)的5种修复姿势全解析
深度解析dpkg报错Sub-process returned error code (1)的5种专业修复策略 当你正在Ubuntu或Debian系统上安装某个关键软件包时,突然终端弹出一条刺眼的错误信息:"Sub-process /usr/bin/dpkg returned an error code (1)"。这不是普通的警告&am…...
CSS 嵌套:编写更优雅的样式代码
CSS 嵌套:编写更优雅的样式代码让 CSS 结构更清晰,层次更分明,代码更易维护。一、CSS 嵌套的优势 作为一名把代码当散文写的 UI 匠人,我对代码的可读性和结构有着近乎偏执的要求。CSS 嵌套让我们能够按照 HTML 的层次结构来组织样…...
突破企业AI应用开发瓶颈:Awesome-Dify-Workflow无代码解决方案深度剖析
突破企业AI应用开发瓶颈:Awesome-Dify-Workflow无代码解决方案深度剖析 【免费下载链接】Awesome-Dify-Workflow 分享一些好用的 Dify DSL 工作流程,自用、学习两相宜。 Sharing some Dify workflows. 项目地址: https://gitcode.com/GitHub_Trending/…...
基于Matlab的分布式电源选址定容软件:优化接入点与容量,降低网损与电压越限风险
分布式电源选址定容 软件:Matlab 介绍:在改进的IEEE33节点系统中分布式电源选择最佳接入点和接入容量,以网损和电压越限惩罚为目标进行粒子群优化,能得出最佳接入点和接入容量,接入前后电压变化,基础程…...
