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

Spark;scp命令,rsync命令,ssh命令

hadoop的运行模式

本地运行:在一台单机上运行,没有分布式文件系统,直接读写本地操作系统的文件系统。特点:不对配置文件进行修改,Hadoop 不会启动 

伪分布式:也是在一台单机上运行,但用不同的 Java 进程模仿分布式运行中的各类节点,特点:Hadoop 启动的这些守护进程都在同一台机器上运行,是相互独立的 Java 进程。

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

scp命令

scp命令 :可实现服务器与服务器之间的数据拷贝

-r 表示递归拷贝

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

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

eg命令:scp -r /opt/module/jdk1.8.0_212/ root@hadoop102:/opt/module/jdk1.8.0_212/

rsync命令

rsync 主要用于备份和镜像

rsync和scp的区别是rsync只对差异文件做更新,而scp是把所有文件都复制过去。故rsync效率更高

-a :归档拷贝,尽可能让拷贝的

-v :显示拷贝过程

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

命令:rsync -av /opt/conf/1.txt root@roothadoop102:/opt/conf/
 

xsync脚本集群之间的同步

(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/

ssh命令

ssh命令无需密码也可登录

eg:目标:hadoop100通过ssh访问hadoop101,hadoop102时不需要密码,其他两台设备也类似。

具体操作如下:

1.在hadoop100中生成公钥和密码。ssh-keygen -t rsa 三次回车

2.在hadoop100中,把自己的公钥传递给hadoop101,hadoop102。命令如下

        ssh-copy-id hadoop101

        ssh-copy-id hadoop102

hadoop101 无密登录 hadoop100,hadoop102 与(1)类似

hadoop102 无密登录 hadoop100,hadoop101 与(1)类似

eg:从hadoop100进入hadoop101的命令就是

        ssh root@hadoop102

        退出命令就是:exit


http://www.kler.cn/a/585108.html

相关文章:

  • Nginx + Keepalived 高可用集群
  • 奇墨科技FinOps云成本优化:精细化IT成本分摊重塑企业云财务管理
  • 前端UI编程基础知识:Flex弹性布局
  • 全面的 .NET 操作 SQLite 入门实战(包含选型、开发、发布、部署)!
  • 解决 MySQL 迁移到达梦报错 “无效的列名” 的问题
  • 下载kali linux遇到的一些问题
  • SSM基础专项复习4——Maven项目管理工具(1)
  • @Before 和 @Around 在 Spring AOP 中的核心区别
  • 蓝桥杯备考:新二叉树
  • 【视频】ffmpeg、Nginx搭建RTMP、HLS服务器
  • 【菜鸟飞】通过vsCode用python访问公网deepseek-r1等模型(Tocken模式)
  • 使用服务器如何DNS呢
  • cgi,php-cgi,fastcgi,php-fpm,nginx 小记
  • 打造独一无二的 CI/CD 工厂:Java 应用的自动化之旅
  • 247g 的工业级电调,如何让无人机飞得更 “聪明“?——STONE 200A-M 深度测评
  • Apache POI详解
  • 跟网型逆变器小干扰稳定性分析与控制策略优化simulink仿真模型和代码(包含完整仿真报告)
  • 破解“光伏+储能+充电”一体化难题!安科瑞全方案打造智慧能源新标杆
  • 动态IP vs 静态IP:终极对比一览表
  • 解决 Linux /dev/mapper/ubuntu--vg-ubuntu--lv 磁盘空间不足的问题