HADOOP完全分布式搭建:
一、准备三台客户机(关闭防火墙、静态IP、主机名称)
1、克隆其他两台虚拟机(前期工作必须准备完成、包括jdk和hadoop的安装工作,详情可以参考20220407)
2、复制jdk和hadoop到其他两个服务器
scp -r jdk1.8.0.212/ 用户名@h服务器地址:/opt/module/
并写一个xsync的同步脚本如下,方便未来为三台服务器同步文件,内容如下:
#! /bin/bash
#1 获取输入参数个数,如果没有参数,直接退出
pcount=$#
if [ $pcount -lt 1 ]
then
echo No Enough Arguement!
exit;
fi
#2. 遍历集群所有机器
for host in hadoop102 hadoop103 hadoop104
#hadoop102 hadoop103 hadoop104为服务器IP映射的主机名
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
建立好的脚本通过添加参数路径(相对路径或绝对路径)文件即可同步到本机外的其他服务器
操作演示如下:
xsync bin/a.txt b.txt(bin路径下的a.txt和本地路径的b.txt服务器文件同步到脚本指定的主机中)
笔记来源:尚硅谷大海哥的分享