大数据集群中实用的三个脚本文件解析与应用

       

目录

一、jps - cluster.sh 脚本文件

(一)背景与功能

(二)使用方法

二、集群文件分发脚本 xsync.sh

(一)背景与问题

(二)功能与实现原理

(三)脚本编写与注意事项

(四)使用案例

三、命令同步执行脚本 xcall.sh

(一)背景与需求

(二)脚本创建与权限设置

(三)脚本内容解析

(四)使用案例与注意事项

四、总结


         在大数据集群管理和运维过程中,高效地执行各种操作对于提升工作效率至关重要。本文将详细介绍三个在大数据集群环境下非常实用的脚本文件:jps - cluster.shxsync.shxcall.sh,包括它们的功能、使用方法以及相关注意事项,帮助读者更好地理解和应用这些脚本,提升大数据集群管理的便利性和效率。

一、jps - cluster.sh 脚本文件

(一)背景与功能

        在大数据集群中,通常需要查看各个服务器上正在运行的服务。如果集群中有多台服务器,逐个在每台服务器上输入jps命令查看服务情况会非常繁琐。jps - cluster.sh脚本文件就是为了解决这个问题而设计的。通过这个脚本,我们可以在bigdata01这台服务器上执行一个命令,就能获取整个集群(假设有三台服务器:bigdata01bigdata02bigdata03)上所有正在运行的jps信息,大大提高了查看服务启动情况的效率。

(二)使用方法

  1. 脚本创建与编辑
    首先,我们需要将所有自定义的脚本文件存放在/usr/local/bin目录下。使用vi jps - cluster.sh命令创建并编辑脚本文件。编辑完成后保存并退出。
    #!/bin/bash
    USAGE="使⽤⽅法:sh jps-cluster.sh"
    NODES=("bigdata01" "bigdata02" "bigdata03")
    for NODE in ${NODES[*]};do
    echo "--------$NODE--------"
    ssh $NODE "/opt/installs/jdk/bin/jps"
    done
    echo "------------------------------------------"
    echo "--------jps-cluster.sh脚本执⾏完成!--------"

  2. 赋予权限
    为了能够在任何地方都能执行该脚本,需要给jps - cluster.sh赋予执行权限。可以使用chmod命令来实现。
    chmod 777 jps-cluster.sh

  3. 执行脚本
    bigdata01服务器上,直接执行jps - cluster.sh命令,即可获取整个集群的服务启动情况(通过jps信息展示)。

二、集群文件分发脚本 xsync.sh

(一)背景与问题

        在大数据集群管理中,经常需要进行文件的拷贝操作。如果按照传统的方式,如使用scp - r命令逐个将文件或文件夹拷贝到每台服务器(如scp - r 文件或者文件夹 root@主机名:/路径),操作过程会非常繁琐且耗时。特别是当集群中的服务器数量较多时,这种逐个拷贝的方式效率低下。

(二)功能与实现原理

        xsync.sh脚本文件就是为了实现快速的集群文件分发功能。它利用了rsync服务来实现高效的文件同步。不过需要注意的是,rsync服务需要安装在所有要分发文件的电脑上。
这个脚本的核心功能是可以通过一个命令将文件分发到所有的 Linux 服务器,而不需要逐个进行长拷贝操作。

(三)脚本编写与注意事项

在所有的分发的电脑上安装 rsync

yum install -y rsync
注意事项

        一定要注意:此脚本文件,不要在windows进行编辑,否则会报错,全程使用linux进行编辑,原因是windows中的字符集和linux中的不一样。

脚本文件
#!/bin/bash
#1 获取输入参数个数,如果没有参数,直接退出
pcount=$#
if [ $pcount -lt 1 ]
then
echo No Enough Arguement!
exit;
fi#2. 遍历集群所有机器
for host in bigdata02 bigdata03
do
echo ====================    $host    ====================
#3. 递归遍历所有目录
for file in $@
do
#4 判断文件是否存在
if [ -e $file ]
then
#5. 获取全路径
pdir=$(cd -P $(dirname $file); pwd)
echo pdir=$pdir#6. 获取当前文件的名称
fname=$(basename $file)
echo fname=$fname#7. 通过ssh执行命令:在$host主机上递归创建文件夹(如果存在该文件夹)
ssh $host "source /etc/profile;mkdir -p $pdir"#8. 远程同步文件至$host主机的$USER用户的$pdir文件夹下
rsync -av $pdir/$fname $USER@$host:$pdir
else
echo $file Does Not Exists!
fi
done
done
赋予权限 

为了能够在任何地方都能执行该脚本,需要给 xsync.sh赋予执行权限。可以使用chmod命令来实现。

chmod 777  xsync.sh

(四)使用案例

        使用xsync.sh脚本非常简单,例如xsync.sh /etc/profile可以将/etc/profile文件同步到其他服务器。你可以将任何想要同步的文件或者文件夹作为参数传递给xsync.sh脚本,如xsync.sh /etc/hosts可以将hosts文件同步给其他两台电脑。

xsync.sh   跟上你想同步的文件或者文件夹都可以
xsync.sh  /etc/hosts   将hosts文件同步给其他两台电脑。

三、命令同步执行脚本 xcall.sh

(一)背景与需求

        在大数据集群管理中,有时候需要在多台服务器上同步执行相同的命令。例如,安装软件包(如yum install -y rsync)、查看网络配置(ifconfig)等操作,如果在每台服务器上分别执行这些命令会很麻烦。xcall.sh脚本文件就是为了满足这种在多台电脑上同步执行一个命令的需求而设计的。

(二)脚本创建与权限设置

使用vi xcall.sh创建脚本文件
#!/bin/bashparams=$@
i=1
for (( i=1 ; i <= 3 ; i = $i + 1 )) ; doecho ============= bigdata0$i $params =============ssh bigdata0$i "$params"
done
通过chmod赋予执行权限
chmod 777 xcall.sh

(三)脚本内容解析

        xcall.sh脚本通过bash实现。它首先获取输入的参数params,然后通过一个for循环,从i = 1i <= 3(这里假设集群中有三台服务器:bigdata01bigdata02bigdata03)。对于每一台服务器(bigdata0$i),会通过ssh执行输入的参数命令$params,并在执行前输出相应的信息,如============= bigdata0$i $params =============

(四)使用案例与注意事项

  1. 使用案例
    可以使用xcall.sh hostname在所有服务器上查看主机名,xcall.sh ifconfig查看网络配置,xcall.sh yum install -y rsync在所有服务器上安装rsync等。需要注意的是,对于一些命令,如jps,如果直接使用xcall.sh jps可能会失败,除非写全路径(如xcall.sh /opt/installs/jdk/bin/jps)。不过,我们可以通过创建软链接的方式来解决这个问题,例如xcall.sh ln -s /opt/installs/jdk/bin/jps /usr/local/bin/jps,这样修复后就可以使用xcall.sh jps了。
    xcall.sh  hostname
    xcall.sh  ifconfig
    xcall.sh  yum install -y rsync
    xcall.sh source /etc/profile不能是xcall.sh jps
    除非写全路径:xcall.sh /opt/installs/jdk/bin/jps
    可以将 jps这个命令做一个软链接到/usr/local/bin 下
    xcall.sh ln -s /opt/installs/jdk/bin/jps /usr/local/bin/jps
    这样一修复,就可以 xcall.sh jps 

  2. scp 相关注意
    在使用scp进行远程拷贝时,如果目标服务器上没有相应的文件夹,scp可以自行创建。这为文件分发和拷贝提供了一定的便利性,在与这些脚本结合使用时,需要考虑到这一特性。

四、总结

        在大数据集群管理中,jps - cluster.shxsync.shxcall.sh这三个脚本文件发挥了重要的作用。jps - cluster.sh方便了我们查看整个集群的服务启动情况,xsync.sh极大地提高了文件分发的效率,xcall.sh则让在多台服务器上同步执行命令变得轻松便捷。通过合理地使用这些脚本,大数据集群管理员可以更加高效地完成各种管理和运维任务,减少手动操作带来的繁琐和错误。同时,在使用脚本过程中,要注意相关的权限设置、编辑环境以及一些特殊命令的处理方式,确保脚本能够稳定、正确地运行,为大数据集群的稳定运行提供有力保障。在实际的大数据环境中,这些脚本可以根据具体的集群架构和需求进行进一步的优化和扩展,以适应更复杂的场景和更多的功能需求。希望本文对读者理解和应用这些脚本文件有所帮助,让大家在大数据集群管理中更加得心应手。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/466061.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

普通人没钱又没能力的话,那就踏实学一门手艺

其实想在这个社会上谋生有很多种方式&#xff0c;大致可以分为这么几个类型。 ​ 1&#xff1a;劳动型 大多数人无疑都是从事的劳动型工作&#xff0c;靠出卖体力挣钱&#xff0c;如建筑工人、快递员、服务员&#xff0c;车间杂工等等。这种性质的工作比较累&#xff0c;性价…

数据管理的四大支柱:揭秘数据中台、数据仓库、数据治理和主数据

文章目录 一、数据中台&#xff1a;数据的“中央厨房”二、数据仓库&#xff1a;数据的“图书馆”三、数据治理&#xff1a;数据的“交警”四、主数据&#xff1a;数据的“身份证”五、定位与差异&#xff1a;协同作战的团队成员 在数字化时代&#xff0c;企业数据管理变得至关…

RabbitMQ 的集群

大家好&#xff0c;我是锋哥。今天分享关于【RabbitMQ 的集群】面试题&#xff1f;希望对大家有帮助&#xff1b; RabbitMQ 的集群 RabbitMQ 是一种流行的开源消息代理&#xff0c;广泛用于构建分布式系统中的消息队列。随着应用程序规模的扩大&#xff0c;单一的 RabbitMQ 实…

PostgreSQL核心揭秘(三)-元组结构

目录 概述 2. 堆元组介绍 1&#xff09;HeapTupleHeaderData 结构 2&#xff09;空值位图&#xff08;Null Bitmap&#xff09; 3&#xff09;用户数据&#xff08;User Data&#xff09; 3. 元组增、删、改操作介绍 1&#xff09;增&#xff08;INSER…

在数据抓取的时候,短效IP比长效IP有哪些优势?

在数据抓取领域&#xff0c;代理IP的选择对于任务的成功率和效率至关重要。短效IP和长效IP各有其特点和适用场景&#xff0c;但在数据抓取过程中&#xff0c;短效IP因其独特的优势而受到青睐。本文将和大家一起探讨短效IP在数据抓取中相比长效IP的优势。 短效IP的定义与特点 …

Navicat for MySQL 错误:1251

mySql&#xff1a;8.4 Navicat for MySQL&#xff1a;11.0.10 企业版 绿色版 官网中关于mysql_native_password插件的说法&#xff1a;链接 1. 问题 连接数据库报错&#xff1a;1251 要求升级Navicat for MySQL 2. 原因 mysql中的mysql_native_password插件默认是关闭的 …

RabbitMQ 管理平台(控制中心)的介绍

文章目录 一、RabbitMQ 管理平台整体介绍二、Overview 总览三、Connections 连接四、Channels 通道五、Exchanges 交换机六、Queues 队列查看队列详细信息查看队列的消息内容 七、Admin 用户给用户分配虚拟主机 一、RabbitMQ 管理平台整体介绍 RabbitMQ 管理平台内有六个模块&…

【360】基于springboot的志愿服务管理系统

摘 要 传统办法管理信息首先需要花费的时间比较多&#xff0c;其次数据出错率比较高&#xff0c;而且对错误的数据进行更改也比较困难&#xff0c;最后&#xff0c;检索数据费事费力。因此&#xff0c;在计算机上安装志愿服务管理系统软件来发挥其高效地信息处理的作用&#x…

Unity发布微信小程序-实战问题汇总

发布微信小程序 准备工作 我们是使用unity其他版本直接转出的微信小程序&#xff0c;而非团结引擎。 下载微信开发者工具&#xff1a;https://developers.weixin.qq.com/minigame/dev/devtools/download.html MiniGame插件:https://game.weixin.qq.com/cgi-bin/gamewxagwasms…

卖模版还能赚到钱吗?

说到赚钱&#xff0c;我想大部分人都会感兴趣。但如果告诉大家现阶段卖模板也能赚钱&#xff0c;可能还是有人不信。我要说说我的观察了。 本文可在公众号「德育处主任」免费阅读 我是一只临期程序猿&#xff0c;我最早接触到“模板能卖钱”这个概念是在模板王里。模板王平台上…

基于梧桐数据库的实时数据分析解决方案

一、背景 在当今信息时代&#xff0c;数据的价值不言而喻。然而&#xff0c;处理海量数据并将其转化为有意义的洞察力是一项艰巨的任务。传统的数据处理方法已经无法满足我们日益增长的需求。为了满足这一挑战&#xff0c;实时数据处理系统应运而生。 ​ 实时数据处理系统是一…

WireShark入门学习笔记

学习视频&#xff1a;WireShark入门使用教程 扩展学习&#xff1a;wireshark分析常见的网络协议 文章目录 WireShark介绍WireShark抓包入门操作WireShark过滤器使用WireShark之ARP协议分析WireShark之ICMP协议TCP连接的3次握手协议TCP连接断开的4次挥手协议WireShark抓HTTP协…

牛客网Java高频面试题(2024最新版含答案)

作为 Java 程序员&#xff0c;选择学习什么样的技术&#xff1f;什么技术该不该学&#xff1f;去招聘网站上搜一搜、看看岗位要求就十分清楚了&#xff0c;自己具备的技术和能力&#xff0c;直接影响到你工作选择范围和能不能面试成功。 如果想进大厂&#xff0c;那就需要在 Ja…

别名路径联想设置

如何使用/进行路径提示&#xff1f; 找到jsconfig.json文件&#xff0c;如何项目中没有的话&#xff0c;自行创建 {"compilerOptions": {"paths": {"/*": ["./src/*"]}},"exclude": ["node_modules", "dis…

【万字详解】如何在微信小程序的 Taro 框架中设置静态图片 assets/image 的 Base64 转换上限值

设置方法 mini 中提供了 imageUrlLoaderOption 和 postcss.url 。 其中&#xff1a; config.limit 和 imageUrlLoaderOption.limit 服务于 Taro 的 MiniWebpackModule.js &#xff0c; 值的写法要 &#xff08;&#xff09;KB * 1024。 config.maxSize 服务于 postcss-url 的…

不愧是阿里巴巴最新开源的Java面试笔记,30万字精华总结 + 面试1300问附答案整理

前言 作为一个 Java 程序员&#xff0c;你平时总是陷在业务开发里&#xff0c;每天噼里啪啦忙敲着代码&#xff0c;上到系统开发&#xff0c;下到 Bug 修改&#xff0c;你感觉自己无所不能。然而偶尔的一次聚会&#xff0c;你听说和自己一起出道的同学早已经年薪 50 万&#x…

C6.【C++ Cont】cout的格式输出

目录 1.头文件 2.使用 1.控制宽度和填充 setw函数(全称set field width设置字段宽度) setfill函数(全称Set fill character设置填充字符) 2.控制数值格式 3.控制整数格式 4.控制对齐方式 1.头文件 用cout进行格式化输出前,先引用头文件iomanip(全称input&output m…

基于SSM+小程序的高校寻物平台管理系统(失物1)

&#x1f449;文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1、项目介绍 本基于微信小程序的高校寻物平台有管理员&#xff0c;用户以及失主三个角色。 1、管理员功能有个人中心&#xff0c;用户管理&#xff0c;失主管理&#xff0c;寻物启示管理&#xff0c;拾…

视频——教学篇——拍摄和剪辑

文章目录 拍摄与录制。如何提升音质&#xff1f;如何提升画质&#xff1f;一、提升视频呈现的重点1.音质在很大程度上优先于画质2.在音质层面&#xff0c;环境可能比设备好坏更重要。3.提升视频画面方面&#xff0c;打光比买更好的相机更重要。4.画面的构图不如分镜的节奏来的重…

在线绘制带颜色标注的大脑脑区图

导读&#xff1a;大脑是人体最为复杂的器官之一&#xff0c;由多个功能特化的脑区构成。每个脑区承担着特定的生理和认知功能。通过应用定量数据映射技术&#xff0c;将数值以色彩编码的形式呈现于各个脑区&#xff0c;可以显著增强对不同脑区定量信息的视觉识别和理解。 《bio…