`

hadoop distcp

阅读更多
hadoop distcp

使用:distcp  src dst
1.要求两个集群有相同的用户名,且此用户的密码也相同
2.配置/etc/hosts,使两个集群的每个结点都包含所有其它机器的主机名到ip的对应信息
3.如果两个集群用户不一样,则可以在一个集群上新建用户,与创建第一个hadoop用户一样:
(1)创建用户
举例:groupadd hadoop
useradd -g hdoop hadoop
passwd   hadoop
(2)配置ssh无密码登陆
ssh-keygen -t rsa,然后一直回车
cd ~/.ssh
cat id_rsa.pub >> authorized_keys
chmod 644 authorized_keys

(3)安装配置与第一个hadoop用户相同的hadoop包
4. 拷贝
例子:
1.两个集群是相同的版本(也可以用第二种方式)
hadoop distcp  hdfs://nn1:9000/path1 hdfs://nn2:54310/path2
2.两个集群是不同hadoop版本
hadoop distcp  hftp://nn1:50070/path1 hdfs://nn2:54310/path2


其中9000为源集群的hdfs端口,50070为源集群的web监控端口,54310为目标集群的hdfs端口。

5. 注意
源src需要用户有读权限,而dst要求用户有写权限
nn1:9000这个地址必须和fs.default.name的配置一样,如果一个是主机名一个是IP地址,这样也可能不行

通过distcp可以实现在两个hadoop集群中同步数据,当两个hadoop集群的版本相同的时候比较简单,直接执行就可以了,比如:
hadoop distcp hdfs://192.168.0.138:9000/sunwg hdfs://192.168.0.139:9000/sunwg
执行时,会在启动mapreduce进行文件的拷贝,最后138上的sunwg下的文件全部会拷贝到139下面的sunwg下。
如果两个hadoop集群的hadoop版本不一致,就稍微会麻烦些。因为不同版本的hadoop是没有办法通过hdfs的协议直接访问的,此时需要采用hftp的方式。hftp是hadoop的一种只读的文件访问协议,没有办法进行更新。所以此时,如果想把0.19上的数据同步到0.20上,那么此时distcp要在对0.20有写权限的机器上发起;反之,要在0.19的机器上启动。比如:
hadoop distcp hftp://192.168.0.159:50070/sunwg hdfs://192.168.0.128:9000/sunwg/test01
这样就可以跨hadoop的版本来拷贝数据。

另,我测试是在虚拟机上进行的,所有的虚拟机都是一台虚拟机复制得到的,所有的虚拟机的hostname都是一样的,所以昨天测试的时候一直有问题,通过hftp访问具体文件的时候有下面的错误:
[hadoop@hadoop01 ~]$ hadoop fs -cat hftp://192.168.0.159:50070/sunwg/1.dat
Invalid input[hadoop@hadoop01 ~]$
一直报的Invalid input。这样的话使用distcp同步数据也是有问题的。后来修改了hostname,两台机器的名字不一样,错误就消失了。
0
0
分享到:
评论

相关推荐

    hadoop使用distcp问题解决

    hadoop使用distcp问题解决 然后用distcp从1.0.3的集群拷数据到2.0.1的集群中。 遇到问题处理

    hadoop-distcp-2.6.0-sources.jar

    java运行依赖jar包

    hadoop中文乱码问题

    【Hadoop中文乱码问题详解】 在大数据处理领域,Hadoop是一个不可或缺的开源框架,它提供了分布式存储(HDFS)和分布式计算(MapReduce)的能力。然而,在处理包含中文字符的数据时,用户可能会遇到中文乱码的问题...

    nosql实验五-HBase数据迁移与数据备份&恢复.docx

    本实验主要介绍了 HBase 数据迁移与数据备份和恢复的方法,包括使用 Sqoop 将 MySQL 数据导入到 HBase、将文本文件批量导入 HBase、使用 Hadoop DistCp 实现 HBase 的冷备份和热备份。 一、使用 Sqoop 将 MySQL ...

    hadoop权威指南de数据集.

    The full dataset is stored on Amazon S3 in the hadoopbook bucket, and if you have an AWS account you can copy it to a EC2-based Hadoop cluster using Hadoop’s distcp command (run from a machine in the...

    hadoop-distcp-2.6.0.jar

    distcp(分布式拷贝)是用于大规模集群内部和集群之间拷贝的工具。 它使用Map/Reduce实现文件分发,错误处理和恢复,以及报告生成。 它把文件和目录的列表作为map任务的输入,每个任务会完成源列表中部分文件的拷贝...

    hadoop shell命令

    - **`hadoop distcp hdfs://src/hdfs://dest`**:从源HDFS复制数据到目标HDFS。 #### 4. **hadoop dfsadmin** 用于HDFS集群的管理,如报告、格式化和安全设置等。 - **`hadoop dfsadmin -report`**:显示HDFS集群...

    hadoop -1.2.1-jar(全)

    3. **hadoop-tools-1.2.1.jar**:这个组件包含了Hadoop的各种实用工具,如Hadoop分布式文件系统的命令行工具(如hadoop fs)、数据转换工具(如Hadoop Archive, Hadoop DistCp)以及其他的辅助工具。 4. **hadoop-...

    用于与Apache Hadoop的同步hadoop-client-modules.rar

    10. **Hadoop DistCp**:一个用于大规模数据复制和同步的工具,可以高效地在HDFS和其他文件系统之间移动数据。 通过`hadoop-client-modules.rar`,开发者可以访问这些模块,实现对Hadoop集群的访问和管理,进行数据...

    hadoop-3.1.4-src.zip

    - `hadoop-tools`:提供了一系列工具,如HDFS命令行工具、Hadoop DistCp(分布式复制)、GFS(Google File System)兼容接口等。 6. **构建与测试**: - `build.xml`:Ant构建脚本,用于编译、打包和测试源代码。...

    HBASE跨集群迁移总结---扎啤1

    在这种情况下,一种常见的方法是使用Hadoop的DistCp(Distributed Copy)工具。然而,值得注意的是,这种迁移方式需要停止源集群的服务,因此在实际操作前需要对业务影响进行全面评估。 迁移的第一步是在源集群上禁用...

    hadoop 无jar版 2.7.0

    标签“tools”可能指的是一系列Hadoop附带的实用工具,如hadoop fs(文件系统操作)、hadoop jar(执行jar文件中的MapReduce任务)、hadoop distcp(分布式复制)等。这些工具对于开发者和管理员在日常工作中管理和...

    hadoop命令手册

    用法:hadoop distcp <srcurl> 。其中,srcurl 是源 Url,desturl 是目标 Url。 #### fs fs 命令用于运行一个常规的文件系统客户端。用法:hadoop fs [GENERIC_OPTIONS] [COMMAND_OPTIONS]。各种命令选项可以参考 ...

    大数据中Hadoop Shell介绍

    - `hadoop distcp`:用于在两个HDFS之间复制数据。 - `hadoop fsck /`:检查HDFS文件系统的完整性。 总之,Hadoop Shell及其相关的脚本为Hadoop的部署、管理和日常维护提供了强大的支持。熟练掌握这些工具的使用...

    hadoop命令大全.pdf

    - `hadoop distcp`:分布式复制,可以在HDFS集群之间复制大量数据。 - `hadoop fs`:执行文件系统命令,如查看目录、删除文件等。 - `hadoop job`:执行MapReduce作业相关操作。 5. Hadoop配置文件 Hadoop的...

    tencentyun#intlcloud-documents#Hadoop 文件系统与 COS 之间的数据迁移_intl_zh1

    简介Hadoop Distcp(Distributed copy)主要是用于 Hadoop 文件系统内部或之间进行大规模数据复制的工具,它基于 Map/Redu

    Hadoop命令手册

    - **用法**: `hadoop distcp <srcurl> <desturl>` - **选项**: - `<srcurl>`: 源URL。 - `<desturl>`: 目标URL。 ##### fs 提供了一种操作Hadoop文件系统的简便方法,可以进行文件和目录的操作,如创建、删除、...

    Hadoop 分布式部署配置及基准性能测试

    通过`hadoop fs -test -d /testdir`创建测试目录,然后运行`hadoop distcp /dev/null /testdir`填充数据。最后,使用`hadoop fs -du -s /testdir`和`hadoop fs -count /testdir`检查数据的大小和数量。 Tersort基准...

    hadoop大数据常用命令

    - **用法**: `hadoop distcp <srcurl> <desturl>` - **作用**: 高效地批量复制文件。 - **fs**: 运行文件系统客户端命令。 - **用法**: `hadoop fs [GENERIC_OPTIONS] [COMMAND_OPTIONS]` - **作用**: 对Hadoop...

Global site tag (gtag.js) - Google Analytics