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

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

  1. 基本语法

bash

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

  • 选项:

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

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

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

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

从 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 免密则无需输入)。
  1. 示例场景:拷贝目录(含子文件)

从 hadoop100 拷贝目录到 hadoop102

bash

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

  • -r 选项确保目录及其内容递归拷贝。
  1. 反向操作:从目标主机拉取文件到 hadoop100

bash

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

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

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

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

  1. 在 hadoop100 生成密钥对:

bash

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

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

bash

ssh-copy-id hadoop@hadoop101

ssh-copy-id hadoop@hadoop102

  1. 验证免密登录:

bash

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

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

创建脚本 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 需调整命令)。

  1. 防火墙与端口:
  • 确保目标主机开启 SSH 服务(端口 22),若关闭需手动开启:

bash

sudo systemctl start sshd # CentOS/RHEL

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

  1. 大数据文件优化:
  • 若文件较大,可使用 -C 选项压缩传输:

bash

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

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

相关推荐
吴声子夜歌12 小时前
MongoDB 4.2——应用程序设计
数据库·mongodb
数字新视界12 小时前
动环监控可视化在数据中心管理中的应用与实践解析
数据库·物联网·解决方案·动环监控·大榕树
极地野狼 音乐哔哔12 小时前
数据库备份恢复的原理实践
数据库
互联网中的一颗神经元13 小时前
小白python入门 - 25. SQL 与表设计入门
数据库·python·sql
ttwuai13 小时前
AI 生成后台改数据后,操作日志别只记按钮:Go + MySQL 怎么验
数据库·人工智能·mysql·golang
KaMeidebaby13 小时前
卡梅德生物技术快报 | 核酸适配体文库测序:核酸适配体文库测序的技术原理、实验流程与数据解析
前端·网络·数据库·人工智能·算法
ClouGence14 小时前
除了 DBeaver,2026 年还有哪些好用的开源数据库管理工具?
数据库·开源
景芯SoC芯片实战14 小时前
12nm工艺下,6T-Turbo Cell的Filler到底该怎么插?
数据库·数字ic·dft·soc后端
韩楚风14 小时前
【参天引擎】一次宕机后的数据恢复,让我把 Cantian 持久化与恢复的六大机制全搞明白了
服务器·网络·数据库·分布式·mysql·架构·cantian
寒月小酒15 小时前
第五章 生成集成 和第六章 RAG评估(all-in-rag学习)
数据库·学习