Hadoop集群管理shell脚本

本文介绍了两个关键的shell脚本,用于大数据学习中的Hadoop集群管理和配置文件同步。主要内容包括集群指令分发工具脚本的使用,强调了ssh免密登录、脚本可执行权限及jps命令的便捷性;另一个是集群文件分发工具脚本,重点讲解了rsync工具的安装和基本语法,以实现高效的数据同步。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

两个比较简单的shell脚本,但在大数据学习过程中非常重要,方便了对集群的管理和配置文件的同步。

准备工作:

1.hosts为机器起域名,和ip地址相同
2.ssh免密登录
3.下载rsync

集群指令分发工具脚本

#!/bin/bash
if [ $# -lt 1 ]        # 如果没有参数会打印提示信息
	then
		echo "There is no commond to execute!"
		exit
fi

LOGIN_USER_NAME=`whoami`     # 获取当前登录用户的用户名

for CLU_HOSTS in 101 102 103 104         # in后放需要同步分发指令的机器,机器多时使用另一种for循环
do
	echo "----------------node$CLU_HOSTS-------------------"
	ssh $LOGIN_USER_NAME@node$CLU_HOSTS $*           # node101--node104为节点名   $*为需同步执行的linux命令
done
注意:

1.记得需要给脚本可执行权限:chmod a+x 脚本名
2.记得给脚本放到/usr/local/bin目录下
3.最好给jdk的bin目录下jps命令创建软链接放到/usr/bin目录下,jps命令很常用
4.最重要一点!需要提前做好免密登录,否则每次使用脚本都要输入密码会很麻烦

集群文件分发工具脚本

#!/bin/bash
if [ $# -lt 1 ]           # 若没有输入需要同步的文件会打印提示信息
	then
		echo "There is no file to send!"
		exit
fi

P=$1                  # 取文件名
FILE_NAME=`basename $P`             
FILE_PATH=`dirname $P`              # 取文件父路径
DIR_PATH=`cd -P $FILE_PATH;pwd`;    # 若文件是软链接,取其真实父路径

LOGIN_USER_NAME=`whoami`      # 取当前登录用户名

for((CLU_HOSTS=102;CLU_HOSTS<=104;CLU_HOSTS++))    # 由于文件在当前机器node101中,所以分发给其余机器
do
	echo "------------------node$CLU_HOSTS-----------------------"
	rsync -rlv $DIR_PATH/$FILE_NAME $LOGIN_USER_NAME@node$CLU_HOSTS:$DIR_PATH  # rsync指令 这里使用循环执行多次
   # 例:  rsync -rvl /opt/tmp/haha.txt  root@node102:/opt/tmp    # 若分发位置没有同名文件则复制过去,有同名文件则覆盖
done
注意:
  1. 该文本使用前需要安装rsync工具:yum install -y rsync
  2. rsync工具介绍:rsync远程同步工具,主要用于备份和镜像。具有速度快、避免复制相同内容和支持符号链接的优点。
    基本语法:rsync -rvl $pdir/$fname $user@hadoop$host:$pdir
        命令 命令参数 要拷贝的文件路径/名称 目的用户@主机:目的路径
    选项:
    -r 递归
    -v 显示复制过程
    -l 拷贝符号连接
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值