当前位置: 首页 > news >正文

Spark(8)配置Hadoop集群环境-使用脚本命令实现集群文件同步

一.hadoop的运行模式

二.scp命令————基本使用

三.scp命令———拓展使用

四.rsync远程同步

五.xsync脚本集群之间的同步


一.hadoop的运行模式

 hadoop一共有如下三种运行方式:

1. 本地运行。数据存储在linux本地,测试偶尔用一下。我们上一节课使用的就是本地运行模式hadoop100。

2. 伪分布式。在一台机器上模拟出 Hadoop 分布式系统的各个组件,各个组件在逻辑上是分离的,但是都运行在同一台物理机器上,以此来模拟分布式环境。

3. 完全分布式。数据存储在HDFS,多台服务器工作,企业中大量使用。

要在本地去模拟这个真实的场景功能,我们需要做好如下的准备

 1)准备3台客户机(关闭防火墙、静态IP、主机名称)

 2)安装javaJDK安装Hadoop配置环境变量

3)配置集群

4)单点启动

 5配置ssh

 6)群起并测试集群

现在我们来看看按照JDK和Hadoop并配置环境变量的工作。有两种思路:

1. 每台机器都去手动安装一次(上传jar包再去解压)。

2. 把一台机器装好,把module 拷贝到其他的机器。这样就不需要省略了上传和解压的工作了。 

二.scp命令————基本使用

现在要学一个新的命令: scp可以实现服务器与服务器之间的数据拷贝。

1.基本语法

scp    -r        $pdir/$fname    $user@$host:$pdir/$fname

说明

(1)-r: 表示递归拷贝。如果要拷贝的是文件夹,就把文件夹下的内容都拷贝

(2)$pdir/$fname: 要拷贝的文件路径/名称   

(3)$user@host:$pdir/$fname: 目的地用户@主机:目的地路径/名称

注意:要输入相应的账号和密码!

2.案例操作

来,我们一起看下案例实操

背景

假设你已经:

(1)台虚拟机(hadoop100、hadoop101都已经创建好了/opt/module,/opt/software两个目录

(2)hadoop100这台机器中已经安装了jdk和hadoop。

目标

现在的目标是:要把hadoop100上的jdk文件夹拷贝到hadoop101的相同的目录下

操作

我们一起看具体操作:

1. 启动虚拟机。把hadoop100hadoop101都启动

2. 进入到hadoop100

3. 命令:
scp -r /opt/module/jdk1.8.0_212/  root@hadoop101:/opt/module/jdk1.8.0_212/

三.scp命令———拓展使用

  1. 拉取。hadoop101上,拉取hadoop100机器上的内容(如下左图)

 

  1. 推送。hadoop100机器上,把文件推送hadoop101机器上(如上右图)
  2. 搭桥。hadoop101机器上,把hadoop100的文件传递到hadoop102

 

任务1在hadoop102上,将hadoop101中/opt/module/hadoop-3.1.3目录拷贝到hadoop102上。

分析:使用scp进行拉取

操作:

  1. 先登录到hadoop2
  2. 使用命令:

scp -r root@hadoop101:/opt/module/hadoop-3.1.3 /opt/module/

任务2在hadoop101上操作,将hadoop100中/opt/module目录下所有目录拷贝到hadoop102上。

分析:使用scp进行搭桥

操作:

  1. 登录hadoop101
  2. 使用命令:

scp -r root@hadoop100:/opt/module/* root@hadoop102:/opt/module

四.rsync远程同步

rsync主要用于备份和镜像。具有速度快、避免复制相同内容和支持符号链接的优点。

rsync和scp区别是:rsync只对差异文件做更新,scp是把所有文件都复制过去,所以它的效果更高一些

1. 基本语法

rsync    -av       $pdir/$fname             $user@$host:$pdir/$fname

语法说明:

(1)-a:归档拷贝,尽可能让拷贝的文件之间保持一致。

(2)-v:显示拷贝过程。

(3)$pdir/$fname: 要拷贝的文件路径/名称

(4)$user@host:$pdir/$fname: 目的地用户@主机:目的地路径/名称

实操:

 rsync -av /opt/conf/ root@hadoop101:/opt/conf

第一步:在两台机器上准备文件。

hadoop100/opt/conf/ 建1.txt, 2.txt, 3.txt, 4.txt

做一次同步。

[root@hadoop100 ]$ rsync -av /opt/conf/ root@hadoop101:/opt/conf/

它会在hadoop101上创建conf目录。

第二步:在hadoop100中,添加新文件,5.txt, 6.txt, 7.txt

第三步:使用命令把新添加的文件同步到hadoop101中

命令如下:

[root@hadoop100 ]$ rsync -av /opt/conf/ root@hadoop101:/opt/conf/

请特别注意目录最后的尾/。有/表示拷贝这文件夹下的内容,没有/表示会拷贝这个文件夹

五.xsync脚本集群之间的同步

在root目录建立bin文件夹,在bin内建立xsync文件,并在文件中输入脚本

chmod +x xsync

2.步骤

(1)在/root/bin目录下创建xsync文件。在这个

(2)在该文件中编写如下代码。这个部分的代码不需要会写,能看懂,了解即可。

#!/bin/bash

#1. 判断参数个数

if [ $# -lt 1 ]

then

    echo Not Enough Arguement!

    exit;

fi

#2. 遍历集群所有机器

for host in hadoop100 hadoop101 hadoop102

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

 3修改执行权限。此时,我们去查看文件,可以看到它的颜色是灰色的,不具备执行权限(如下图)

接下来要通过命令: chmod +x xsync或者是chmod 777 xsync

重新查看它的颜色,它现在已经变成执行的脚本了(如下图)。

(4)测试使用。把这个脚本同步到其他的机器中。

[root@hadoop100 ~]$ xsync /root/bin/


课堂小结 

  1. scp的作用是什么?
  2. 如果当前在A机器上,要把A机器上的/etc/tst下的所有内容拷贝到B机器上的/etc/tst目录下,应该的命令应该怎么写?
  3. rsync与scp的区别是什么?

答案:

1.实现服务器和服务器之间数据拷贝

2.scp -r /etc/tst/B机器的用户名@主机名:/etc/tst

3.rsync和scp区别是:rsync只对差异文件做更新,scp是把所有文件都复制过去,所以它的效果更高一些

相关文章:

Spark(8)配置Hadoop集群环境-使用脚本命令实现集群文件同步

一.hadoop的运行模式 二.scp命令————基本使用 三.scp命令———拓展使用 四.rsync远程同步 五.xsync脚本集群之间的同步 一.hadoop的运行模式 hadoop一共有如下三种运行方式: 1. 本地运行。数据存储在linux本地,测试偶尔用一下。我们上一节课使用…...

【cocos creator】热更新

一、介绍 试了官方的热更新功能,总结一下 主要用于安卓包热更新 参考: Cocos Creator 2.2.2 热更新简易教程 基于cocos creator2.4.x的热更笔记 二、使用软件 1、cocos creator v2.4.10 2、creator热更新插件:热更新manifest生成工具&…...

黑金风格人像静物户外旅拍Lr调色教程,手机滤镜PS+Lightroom预设下载!

调色教程 针对人像、静物以及户外旅拍照片,运用 Lightroom 软件进行风格化调色工作。旨在通过软件中的多种工具,如基本参数调整、HSL(色相、饱和度、明亮度)调整、曲线工具等改变照片原本的色彩、明度、对比度等属性,将…...

部署vue+django项目(初版)

1.准备 vscode 插件Remote SSH,连接远程,打开远程中home文件夹。 镜像和容器的一些常用命令 docker images docker ps 查看所有正在运行的容器 docker ps -a docker rmi -f tk-django-app 删除镜像 docker rm xxx 删除容器 docker start xxxx …...

Redis7系列:设置开机自启

前面的文章讲了Redis和Redis Stack的安装,随着服务器的重启,导致Redis 客户端无法连接。原来的是Redis没有配置开机自启。此文记录一下如何配置开机自启。 1、修改配置文件 前面的Redis和Redis Stack的安装的文章中已经讲了redis.config的配置&#xf…...

HarmonyOS学习第18天:多媒体功能全解析

一、开篇引入 在当今数字化时代,多媒体已经深度融入我们的日常生活。无论是在工作中通过视频会议进行沟通协作,还是在学习时借助在线课程的音频讲解加深理解,亦或是在休闲时光用手机播放音乐放松身心、观看视频打发时间,多媒体功…...

在rocklinux里面批量部署安装rocklinx9

部署三台Rockylinux9服务器 实验要求 1. 自动安装ubuntu server20以上版本 2. 自动部署三台Rockylinux9服务器,最小化安装,安装基础包,并设定国内源,设静态IP 实验步骤 安装软件 # yum源必须有epel源 # dnf install -y epel-re…...

Manus:成为AI Agent领域的标杆

一、引言 官网:Manus 随着人工智能技术的飞速发展,AI Agent(智能体)作为人工智能领域的重要分支,正逐渐从概念走向现实,并在各行各业展现出巨大的应用潜力。在众多AI Agent产品中,Manus以其独…...

【Java开发指南 | 第三十四篇】IDEA没有Java Enterprise——解决方法

读者可订阅专栏:Java开发指南 |【CSDN秋说】 文章目录 1、新建Java项目2、单击项目名,并连续按两次shift键3、在搜索栏搜索"添加框架支持"4、勾选Web应用程序5、最终界面6、添加Tomcat 1、新建Java项目 2、单击项目名,并连续按两次…...

WinForm模态与非模态窗体

1、模态窗体 1)定义: 模态窗体是指当窗体显示时,用户必须先关闭该窗体,才能继续与应用程序的其他部分进行交互。 2)特点: 窗体以模态方式显示时,会阻塞主窗体的操作。用户必须处理完模态窗体上…...

静态时序分析:SDC约束命令set_ideal_network详解

相关阅读 静态时序分析https://blog.csdn.net/weixin_45791458/category_12567571.html?spm1001.2014.3001.5482 set_ideal_network命令可以将当前设计中的一组端口或引脚标记为理想网络源(设置端口或引脚对象的ideal_network_source属性为true)&#…...

【学习方法】技术开发者的提问智慧:如何高效获得解答?

技术开发者的提问智慧:如何高效获得解答? 在技术开发过程中,每个人都会遇到无法解决的问题。此时,我们通常会向团队、社区或论坛求助。然而,为什么有些人的问题能迅速得到解答,而有些人的问题却石沉大海&a…...

C++:入门详解(关于C与C++基本差别)

目录 一.C的第一个程序 二.命名空间(namespace) 1.命名空间的定义与使用: (1)命名空间里可以定义变量,函数,结构体等多种类型 (2)命名空间调用(&#xf…...

服务器上的nginx因漏洞扫描需要升级

前言 最近客户联系说nginx存在安全漏洞 F5 Nginx 安全漏洞(CVE-2024-7347) F5Nginx是美国F5公司的一款轻量级Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like协议下发行。F5 Nginx存在安全漏洞,该漏洞源于可能允许攻击者使用特制的…...

1688商品列表商品详情API接口全面解析

1688作为中国领先的B2B电子商务平台,汇聚了海量的商品资源,为商家和采购商提供了丰富的交易机会。为了更方便地获取和利用这些商品信息,1688平台提供了商品列表API接口,允许第三方开发者通过编程方式获取平台上的商品列表数据。本…...

【爬虫】开篇词

一、网络爬虫概述 二、网络爬虫的应用场景 三、爬虫的痛点 四、需要掌握哪些技术? 在这个信息爆炸的时代,如何高效地获取和处理海量数据成为一项核心技能。无论是数据分析、商业情报、学术研究,还是人工智能训练,网络爬虫&…...

如何在SpringBoot中灵活使用异步事件?

在现代的应用开发中,事件驱动的架构越来越受到欢迎。当我们在使用SpringBoot时,了解如何实现异步事件变得尤为重要。通过事件机制,我们能够在系统中实现松耦合的组件,让不同模块之间能够有效沟通,而无需直接依赖。本文…...

S19文件格式详解:汽车ECU软件升级中的核心镜像格式

文章目录 引言一、S19文件格式的起源与概述二、S19文件的核心结构三、S19在汽车ECU升级中的应用场景四、S19与其他格式的对比五、S19文件实例解析六、工具链支持与安全考量七、未来趋势与挑战结语引言 在汽车电子控制单元(ECU)的软件升级过程中,S19文件(也称为Motorola S-…...

git安装(windows)+vscode配置

安装git for windows在使用 Git 之前,建议设置全局的用户名称和电子邮件地址,这样每次提交代码时就可以自动关联您的身份信息。设置一次后,您无需每次都输入这些信息,Git 将自动使用您配置的全局用户信息。如果需要针对特定项目使…...

Python性能优化面试题及参考答案

目录 解释字典与列表在查找操作中的时间复杂度差异,如何利用哈希表特性提升性能? 为什么在只读场景下使用元组(tuple)比列表(list)更高效? 如何用 collections.deque 优化频繁的队列插入 / 删除操作? defaultdict 相比普通字典在哪些场景下能减少冗余代码并提升效率…...

零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?

一、核心优势:专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发,是一款收费低廉但功能全面的Windows NAS工具,主打“无学习成本部署” 。与其他NAS软件相比,其优势在于: 无需硬件改造:将任意W…...

从WWDC看苹果产品发展的规律

WWDC 是苹果公司一年一度面向全球开发者的盛会,其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具,对过去十年 WWDC 主题演讲内容进行了系统化分析,形成了这份…...

抖音增长新引擎:品融电商,一站式全案代运营领跑者

抖音增长新引擎:品融电商,一站式全案代运营领跑者 在抖音这个日活超7亿的流量汪洋中,品牌如何破浪前行?自建团队成本高、效果难控;碎片化运营又难成合力——这正是许多企业面临的增长困局。品融电商以「抖音全案代运营…...

涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战

“🤖手搓TuyaAI语音指令 😍秒变表情包大师,让萌系Otto机器人🔥玩出智能新花样!开整!” 🤖 Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制(TuyaAI…...

C# 求圆面积的程序(Program to find area of a circle)

给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...

Kubernetes 网络模型深度解析:Pod IP 与 Service 的负载均衡机制,Service到底是什么?

Pod IP 的本质与特性 Pod IP 的定位 纯端点地址:Pod IP 是分配给 Pod 网络命名空间的真实 IP 地址(如 10.244.1.2)无特殊名称:在 Kubernetes 中,它通常被称为 “Pod IP” 或 “容器 IP”生命周期:与 Pod …...

MyBatis中关于缓存的理解

MyBatis缓存 MyBatis系统当中默认定义两级缓存:一级缓存、二级缓存 默认情况下,只有一级缓存开启(sqlSession级别的缓存)二级缓存需要手动开启配置,需要局域namespace级别的缓存 一级缓存(本地缓存&#…...

Vue 模板语句的数据来源

&#x1f9e9; Vue 模板语句的数据来源&#xff1a;全方位解析 Vue 模板&#xff08;<template> 部分&#xff09;中的表达式、指令绑定&#xff08;如 v-bind, v-on&#xff09;和插值&#xff08;{{ }}&#xff09;都在一个特定的作用域内求值。这个作用域由当前 组件…...

【FTP】ftp文件传输会丢包吗?批量几百个文件传输,有一些文件没有传输完整,如何解决?

FTP&#xff08;File Transfer Protocol&#xff09;本身是一个基于 TCP 的协议&#xff0c;理论上不会丢包。但 FTP 文件传输过程中仍可能出现文件不完整、丢失或损坏的情况&#xff0c;主要原因包括&#xff1a; ✅ 一、FTP传输可能“丢包”或文件不完整的原因 原因描述网络…...

TJCTF 2025

还以为是天津的。这个比较容易&#xff0c;虽然绕了点弯&#xff0c;可还是把CP AK了&#xff0c;不过我会的别人也会&#xff0c;还是没啥名次。记录一下吧。 Crypto bacon-bits with open(flag.txt) as f: flag f.read().strip() with open(text.txt) as t: text t.read…...