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

使用scp命令拷贝hadoop100中文件到其他虚拟机中

以下是使用  scp  命令将  hadoop100  主机中的文件拷贝到其他虚拟机的操作步骤(假设其他主机名为  hadoop101 、 hadoop102 ,系统为 Linux):

 

1. 基本语法

 

bash

scp [选项] 源文件路径 目标主机用户名@目标主机IP:目标路径  

 

 

- 选项:

 

-  -r :递归拷贝目录(含子文件)。

 

-  -p :保留文件属性(如权限、时间戳)。

 

-  -i :指定私钥文件(用于 SSH 免密登录)。

 

2. 示例场景:拷贝单个文件

 

从 hadoop100 拷贝文件到 hadoop101

 

bash

# 拷贝本地文件 /data/file.txt 到 hadoop101 的 /data/ 目录  

scp /data/file.txt hadoop@hadoop101:/data/  

 

# 若目标主机 IP 为 192.168.1.101(非主机名)  

scp /data/file.txt hadoop@192.168.1.101:/data/  

 

 

- 首次连接需输入目标主机密码(若已配置 SSH 免密则无需输入)。

 

3. 示例场景:拷贝目录(含子文件)

 

从 hadoop100 拷贝目录到 hadoop102

 

bash

scp -r /data/logs hadoop@hadoop102:/data/  

 

 

-  -r  选项确保目录及其内容递归拷贝。

 

4. 反向操作:从目标主机拉取文件到 hadoop100

 

bash

# 从 hadoop101 拉取 /data/report.csv 到 hadoop100 的 /tmp/ 目录  

scp hadoop@hadoop101:/data/report.csv /tmp/  

 

 

5. 配置 SSH 免密登录(推荐)

 

为避免每次拷贝都输入密码,可配置集群内 SSH 互信:

 

1. 在 hadoop100 生成密钥对:

bash

ssh-keygen -t rsa -P "" -f ~/.ssh/id_rsa  

 

 

2. 将公钥分发到目标主机(如 hadoop101、hadoop102):

bash

ssh-copy-id hadoop@hadoop101  

ssh-copy-id hadoop@hadoop102  

 

 

3. 验证免密登录:

bash

ssh hadoop101 "echo Hello" # 应直接执行命令,无需密码  

 

 

6. 批量拷贝文件到多台主机(脚本示例)

 

创建脚本  scp_to_cluster.sh ,批量将文件拷贝到集群各节点:

 

bash

#!/bin/bash  

files=("/data/config.txt" "/data/scripts") # 需拷贝的文件/目录列表  

hosts=("hadoop101" "hadoop102") # 目标主机列表  

 

for file in "${files[@]}"; do  

  for host in "${hosts[@]}"; do  

    echo "正在拷贝 ${file} 到 ${host}..."  

    scp -r ${file} hadoop@${host}:/data/  

  done  

done  

 

 

- 执行脚本前需赋予权限:

bash

chmod +x scp_to_cluster.sh  

./scp_to_cluster.sh  

 

 

关键注意事项

 

1. 路径格式:

 

- 源路径为  hadoop100  的本地路径,目标路径为远程主机的路径。

 

- 目标路径需确保远程用户有写入权限(如使用  sudo  需调整命令)。

 

2. 防火墙与端口:

 

- 确保目标主机开启 SSH 服务(端口 22),若关闭需手动开启:

bash

sudo systemctl start sshd # CentOS/RHEL  

sudo ufw allow ssh # Ubuntu(防火墙允许 SSH)  

 

 

3. 大数据文件优化:

 

- 若文件较大,可使用  -C  选项压缩传输:

bash

scp -C /data/bigfile.tar.gz hadoop@hadoop101:/data/  

 

 

通过以上步骤,可高效利用  scp  实现集群内文件同步,结合 SSH 免密和脚本可进一步提升自动化程度。

http://www.xdnf.cn/news/423883.html

相关文章:

  • SQL、Oracle 和 SQL Server 的比较与分析
  • 数据结构(一) 绪论
  • 【C语言极简自学笔记】井字棋开发
  • Ozon平台产品关键词优化指南:精准引流与转化提升实战策略
  • 影刀RPA开发-CSS选择器介绍
  • 中国品牌日 | 以科技创新为引领,激光院“风采”品牌建设结硕果
  • vscode 同一个工作区,不同文件夹之间跳转问题
  • 嵌入式学习笔记 - HAL_ADC_ConfigChannel函数解析
  • 2025-05-13 Unity 网络基础12——大小端模式
  • centos中JDK_PATH 如何设置
  • 从 Vue3 回望 Vue2:事件总线的前世今生
  • Oracles数据库通过存储过程调用飞书接口推送群组消息
  • FPGA:XILINX FPGA产品线以及器件选型建议
  • MySQL 8.0 OCP(1Z0-908)英文题库(31-40)
  • 【认知思维】过度自信效应:高估自我能力的认知偏差
  • 【神经网络与深度学习】局部最小值和全局最小值
  • win10 局域网内聊天
  • Mac M系列 安装 jadx-gui
  • MySQL数据库故障排查指南
  • 【2025最新】Pycharm里如何运行多个py文件
  • linux 抓包工具tcpdump使用小记(使用时注意权限和系统资源)
  • log.js:5 [vxe table v4.12.5] 缺少 “vxe-tooltip“ 组件,请检查是否正确安装。
  • 网络状态可以通过hutool.HttpStatus获取
  • Data.olllo:一个可以打开 100GB CSV 文件的桌面工具
  • 【HBase整合Hive】HBase-1.4.8整合Hive-2.3.3过程
  • 前端取经路——前端安全:构建坚不可摧的Web应用防线
  • 如何在设计阶段考虑 Python 服务的可伸缩性,避免后期的重构
  • element-ui 源码调用接口跨域问题
  • web-ui开源程序是建立在浏览器使用的基础上,旨在使 AI 代理可以访问网站
  • plus-uiRuoYi-Vue-Plus 基于pgSql本地运行实践