hadoop2.4.0的distcp引起的问题

作者: 云计算机网 分类: 云计算知识 发布时间: 2016-09-04 02:58

最近在支持业务部门将数据从hadoop0.20.203迁移到hadoop2.4.0的时候,distcp报了几个错误,在这里记录一下:

1、报权限错误

15/01/06 10:48:37 ERROR tools.DistCp: Unable to cleanup meta folder: /DistCp

org.apache.hadoop.security.AccessControlException: Permission denied: user=weibo_bigdata_uquality, access=WRITE, inode="/":hadoop:supergroup:drwxr-xr-x

at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkFsPermission(FSPermissionChecker.java:274)

at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.check(FSPermissionChecker.java:260)

at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.check(FSPermissionChecker.java:241)


解决办法:修改/DistCp目录权限

hadoop fs -chmod 777 /DistCp

这个问题有一个疑问,其实我在执行distcp的时候指定了 -log选项,将log目录指定到了有权限的用户目录下面,但是还是报以上错误。

2、报401错误

15/01/06 10:48:37 ERROR tools.DistCp: Exception encountered

java.io.IOException: Server returned HTTP response code: 401 for URL:

at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1459)

at org.apache.hadoop.hdfs.web.HftpFileSystem$LsParser.fetchList(HftpFileSystem.java:462)

at org.apache.hadoop.hdfs.web.HftpFileSystem$LsParser.getFileStatus(HftpFileSystem.java:474)

at org.apache.hadoop.hdfs.web.HftpFileSystem.getFileStatus(HftpFileSystem.java:503)

at org.apache.hadoop.fs.Globber.getFileStatus(Globber.java:57)

at org.apache.hadoop.fs.Globber.glob(Globber.java:248)

at org.apache.hadoop.fs.FileSystem.globStatus(FileSystem.java:1623)

at org.apache.hadoop.tools.GlobbedCopyListing.doBuildListing(GlobbedCopyListing.java:77)

at org.apache.hadoop.tools.CopyListing.buildListing(CopyListing.java:80)

at org.apache.hadoop.tools.DistCp.createInputFileListing(DistCp.java:327)

at org.apache.hadoop.tools.DistCp.execute(DistCp.java:151)

at org.apache.hadoop.tools.DistCp.run(DistCp.java:118)

at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)

at org.apache.hadoop.tools.DistCp.main(DistCp.java:373)

这个问题和我们hadoop集群的权限认证有关系,在hadoop1.0上面配置了ugi和extrahosts之后得到解决

3、报检验和错误

经过以上两个错误的解决,distcp成功运行了,但是在运行过程中报校验和错误:

2015-01-06 11:32:37,604 ERROR [main] org.apache.hadoop.tools.util.RetriableCommand: Failure in Retriable command: Copying ... to ....

java.io.IOException: Check-sum mismatch between ..... and .....

  • 计算机的硬盘容量与操作系统的硬盘容量存在差异,这不是计算机硬盘安装错误,而是计算机领域的一种正常现象,下面爱站技术频道小编就告诉你这些原因。

    计算机的硬盘容量与操作系统的硬盘容量存在差异,这不是计算机硬盘安装错误,而是计算机领域的一种正常现象,下面爱站技术频道小编就告诉你这些原因。

    a. 硬盘制造商和计算机操作系统对硬盘容量的计算标准不同硬盘制造商在标注硬盘容量时采用的是1000进制,即:1G = 1,000MB,1MB =1,000KB,1KB = 1,000byte ;然而,操作系统在识别硬盘容量时采用的是1024 进制,即:1GB = 1,024MB,1MB = 1,024KB,1KB = 1,024byte。您的电脑硬盘的标称容量采用的是硬盘制造商的计算标准,由于硬盘制造商和操作系统在计算硬盘容量时采用的标准不同,导致了硬盘标称容量和硬盘在操作系统中显示的容量出现差异。  例如,硬盘标称是XG,那么,即使在完全没有被使用的情况下,它在操作系统中显示的容量也只是:X×1000×1000×1000/(1024×1024×1024) ≈ X×0.931 G。  如果硬盘的部分空间已被用于特定用途, 那么操作系统中显示的容量还将小于X×0.931G。  b. 硬盘的部分空间被用于特定用途  由于配备了一键恢复功能,硬盘在出厂前已经划分出一块特定分区,用以存放硬盘镜像文件以及一键恢复程序文件,该部分硬盘空间的具体数值因电脑的机型和安装的操作系统和软件的不同而不同。出于安全考虑,这块分区只能在“磁盘管理”中看到,即通常所说的“隐藏分区”或“服务分区”。此外,在硬盘被分区或格式化后,系统会在硬盘上占用一些空间,提供给系统文件使用。 由于这些原因,您在操作系统中看到的可用硬盘空间总是小于计算机硬盘的额定容量,如果还有需要了解的内容,就继续关注爱站技术频道吧!
  • 相关推荐:

  • 硬盘容量的计算方法和说
  • IT和IT行业的介绍
  • 路由的追踪命令
  • AMD推土机处理器的知识
  • 带你了解ape与mp3的区别
  • scroll lock键的作用
  • 辨别笔记本是否为翻新机
  • H77、Z75、Z77主板的区别
  • 巧克力键盘的介绍
  • 串流服务是什么 云电脑
  • 网站内容禁止违规转载,转载授权联系中国云计算网