大数据集群需要的shell脚本(一)

本文介绍在大数据集群中使用Shell脚本简化操作的方法,包括SSH免密登录配置、群发脚本、查看多台服务器运行进程及一键启停Hadoop集群。通过这些脚本,可大幅提升大数据分布式开发效率。

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

大数据集群需要的shell脚本

在大数据开发平台上,我们经常需要在各个机器上启动各种服务,非常麻烦和繁琐且浪费时间

在这里总结了几个经常用到的shell脚本,方便学习和开发

这里需要用到的脚本因为都是操作多台服务器,所以需要用到ssh,如多我们不配置ssh 免密登录,每次调用都会需要我们登录密码,所以运用这些脚本之前应该先配置好集群间的ssh免密登录,如果没有ssh服务的要先去安装ssh服务

学习用的脚本,不是很严谨,望交流心得

ssh免密登录

ssh-keygen

操作之后一直回车直到结束,然后分发公钥给需要用到的服务器

ssh-copy-id ip

第一次需要输入密码生成秘钥和公钥

.ssh文件夹下(~/.ssh)的文件功能解释

known_hosts记录ssh访问过计算机的公钥(public key)
id_rsa生成的私钥
id_rsa.pub生成的公钥
authorized_keys存放授权过的无密登录服务器公钥

一 群发脚本

这是一个经常需要用到的频繁的功能,因为大数据分布式开发,需要多台服务器都要安装各种服务来支持开发,这就免不了在所有机器上都要耗费一定时间去做这些操作,并且当机器集群较多时,将是一个枯燥且烦躁的工作

群发脚本是基于rsync命令

rsync -av file user@ip:pdir

-a 表示递归分发

-v 表示显示详细信息

file 需要分发的文件

user 需要分发的用户(如果与当前登录用户是同一个可以省略)

ip 需要分发给的服务器地址

pdir 文件所在的父目录

分发shell脚本

#!/bin/bash
if [ $# -lt 1 ]
  then
        echo "参数不能少于一个"
        exit
fi

for host in ip1 ip2 ip3 ...
do
        echo "==================$host=================="
        for file in $@
        do
                if [ -e $file ]
                  then
                        pdir=$(cd -P $(dirname $file);pwd)
                        fname=$(basename $file)
                        ssh $host mkdir -p $pdir
                        rsync -av $pdir/$fname $host:$pdir
                  else
                        echo "$file 文件不存在"
                fi
        done
done

二 查看多台服务器的正在运行的进程

for host in ip1 ip2 ip3...
do
	echo "=============$host================"
	ssh $host jps
done

三 群起hadoop集群

一般我们把hdfs和yarn配置在不同的服务器上,因为都很消耗机器的性能,可是这样需要切换机器的操作,用脚本命令来群起和群关

case $1 in
"start")
ssh ip1 start-dfs.sh
ssh ip2 start-yarn.sh
ssh ip3 mapred --daemon start historyserver #启动历史服务器
;;
"stop")
ssh ip1 stop-dfs.sh
ssh ip2 stop-yarnsh
ssh ip3 mapred --daemon stop historyserver
;;
esac
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值