04-hadoop完全分布式

本文详细介绍了如何在3台客户机上配置Hadoop环境,包括防火墙设置、JDK安装、环境变量配置和集群配置。重点讲解了scp与rsync安全拷贝脚本,用于在集群中高效地分发JDK和Hadoop包,并演示了xsync脚本实现全集群文件同步,以全局变量分发。

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

1.0 准备工作

3台客户机 关闭防火墙 静态IP 主机名称
安装JDK
配置环境变量
安装hadoop
配置环境变量
配置集群
单点启动
配置ssh
群起测试集群

2.0 编写集群分发脚本

2.1 scp安全拷贝

2.1.1 基本语法

scp   -r  要拷贝的文件路径/名称  目的地用户@主机:目的地路径/名称
命令  递归

2.1.2 将102上的jdk拷贝到103上

scp -r jdk1.8.0_212/ daxia@hadoop103:/opt/module/
                     这里的用户名是自己的@主机名自己

在这里插入图片描述

yes之后,需要输入密码

2.1.3 在103机器上拉取102的内容

 scp -r daxia@hadoop102:/opt/module/hadoop-3.1.3 ./

从自己的主机拉取别人的文件
步骤跟之前一样,注意点:必须切入到指定的路径,否则./不能用

2.1.4 在104上获取内容

在hadoop102机器上
scp -r jdk1.8.0_212/ daxia@hadoop104:/opt/module/

在hadoop104机器上
scp -r daxia@hadoop102:/opt/module/hadoop-3.1.3 ./

另外一种写法
在103上,将102的内容拷贝到104上

scp -r daxia@hadoop102:/opt/module/* daxia@hadoop104:/opt/module

2.2 rsync 远程同步工具

主要用于备份和镜像,避免复制相同的内容和支持符号链接的优点
rsync做文件的复制比scp的速度快

2.2.1 基础语法(学习)

rsync  -av 要拷贝的文件路径/名称  目的地用户@主机:目的地路径名称/名称

2.3 xsync集群分发脚本

循环复制文件到所有节点的相同目录下

2.3.1 脚本实现

在/home/daxia/bin目录下面创建xsync文件

cd /home/daxia
mkdir bin
vim xsync

打开文件之后,需要加入的内容

#!/bin/bash

#1. 判断参数个数
if [ $# -lt 1 ]
then
    echo Not Enough Arguement!
    exit;
fi


#2. 遍历集群所有机器
for host in hadoop102 hadoop103 hadoop104
do
    echo ==================== $host ====================
    #3. 遍历所有目录,挨个发送
    for file in $@
    do
        #4. 判断文件是否存在
        if [ -e $file ]
            then
                #5. 获取父目录
                pdir=$(cd -P $(dirname $file); pwd)
                #6. 获取当前文件的名称
                fname=$(basename $file)
                ssh $host "mkdir -p $pdir"
                rsync -av $pdir/$fname $host:$pdir
            else
                echo $file does not exists!
        fi
    done
done

给当前的文件增加可执行权限

chmod 777 xsync 

开始测试

xsync bin/

测试成功(其实这一步在测试)
在这里插入图片描述

2.2.2 开始同步全局变量

进行分发

xsync /etc/profile.d/my_env.sh

在这里插入图片描述
权限是出现问题
修改命令:

 sudo ./bin/xsync /etc/profile.d/my_env.sh

展示:
在这里插入图片描述
完成传输
注意在103和104上进行全局变量的刷新
刷新完测试一下,java和hadoop有没有生效

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值