hdfs:介绍三个脚本

news/2025/1/31 19:53:34/

1、jps-cluster.sh

如果我们想在Bigdata01 这台电脑上,查看整个集群的服务启动情况,可以使用这个脚本文件。

#!/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脚本执⾏完成!--------"

 记得赋权限

chmod u+x jps-cluster.sh

 不管在哪个地方都可以执行该命令  jps-cluster.sh

 

 2、集群文件分发脚本【xsync.sh】

 我们经常进行文件的长拷贝,拷贝完第一台,拷贝第二台,如下所示:
      scp -r  文件或者文件夹  root@主机名:/路径
可以一个命令下去,分发所有的Linux服务器,不用一个个的长拷贝了。
需要有一个服务,rsync
需要在所有的分发的电脑上安装  rsync。

 脚本文件:

yum install -y rsync

 一定要注意:此脚本文件,不要在windows进行编辑,否则会报错,全程使用linux进行编辑,原因是windows中的字符集和linux中的不一样。
touch   xsync.sh
chmod  u+x xsync.sh
使用的案例: xsync.sh /etc/profile

#!/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

 

rsync -av

最常用的选项,表示递归模式,保留软链接、文件权限、修改时间戳、属主、属组、设备文件、特殊文件,详细显示执行过程

 测试一下:

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

 3、命令同步执行脚本[xcall.sh]

 一个命令在一个电脑上运行,是否可以在多台电脑上同步执行呢?
比如  yum install -y rsync
vi   xcall.sh
编辑
chmod u+x xcall.sh

#!/bin/bash

params=$@
i=1
for (( i=1 ; i <= 3 ; i = $i + 1 )) ; do
    echo ============= bigdata0$i $params =============
    ssh bigdata0$i "$params"
done

 测试:

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 


http://www.ppmy.cn/news/1568225.html

相关文章

PYH与MAC的桥梁MII/MIIM

在学习车载互联网时&#xff0c;看到了一句话&#xff0c;Processor通过DMA直接存储访问与MAC之间进行数据的交互&#xff0c;MAC通过MII介质无关接口与PHY之间进行数据的交互。常见的以太网硬件结构是&#xff0c;将MAC集成进Processor芯片&#xff0c;将PHY留在Processor片外…

sem_init的概念和使用案例

sem_init 是 POSIX 线程库中用于初始化未命名信号量&#xff08;unnamed semaphore&#xff09;的函数&#xff0c;常用于多线程或多进程间的同步。以下是其概念和使用案例的详细说明&#xff1a; 概念 函数原型&#xff1a; #include <semaphore.h>int sem_init(sem_t …

服务器机房迁移,centos系统root无法登录,也无法联网等问题

介绍 服务器迁移之后问题太多了&#xff0c;就关了一次机而已。开机之后root也没法登录&#xff0c;网络也无法访问。这个问题我们整整修复了两天两夜。废话不多说了。过程就不记录了&#xff0c;直接写方法&#xff0c;以免下次再遇到此问题。 问题记录 root账号无法登录 …

JavaScript系列(43)--依赖注入系统实现详解

JavaScript依赖注入系统实现详解 &#x1f489; 今天&#xff0c;让我们深入探讨JavaScript的依赖注入系统实现。依赖注入是一种设计模式&#xff0c;它通过将依赖关系的创建和管理从代码中分离出来&#xff0c;提高了代码的可维护性和可测试性。 依赖注入基础概念 &#x1f…

TVS选型设计

TVS选型距离 以实际的案例举例。电路的正常工作电压VCC是24V&#xff0c;最高工作电压Vmax是26V,后级电路可承受的最高瞬态电压为50V&#xff0c;实验的测试波形为 8/20μs波形&#xff0c;测试电压500V&#xff0c;测试电源内阻及PPTC的静态电阻合计为2Ω。根据上述信息选择合…

【SpringMVC】——Json数据交互处理

&#x1f3bc;个人主页&#xff1a;【Y小夜】 &#x1f60e;作者简介&#xff1a;一位双非学校的大二学生&#xff0c;编程爱好者&#xff0c; 专注于基础和实战分享&#xff0c;欢迎私信咨询&#xff01; &#x1f386;入门专栏&#xff1a;&#x1f387;【MySQL&#xff0…

用 Scoop 优雅管理 Windows 软件:安装、配置与使用全指南

本篇将主要讲讲如何用「Scoop」优雅管理 Windows 软件&#xff1a;安装、配置与使用全指南 一、Scoop 是什么&#xff1f; Scoop 是一款专为 Windows 设计的命令行软件包管理工具&#xff0c;它能让你像 Linux 系统一样通过命令快速安装、更新和卸载软件。其核心优势包括&…

Jenkins下载 Maven、Allure 插件并且配置环境

文章目录 Jenkins在插件中心下载 maven、allure插件maven插件下载allure插件下载 配置maven、allure 往期推荐&#xff1a; 最新! 在 Linux上搭建Jenkins环境! Jenkins邮件通知的详细配置含邮件通知模板&#xff01; Jenkin配置企业微信通知 Jenkins在插件中心下载 maven、…