当我尝试执行以下命令将数据从hbase复制到hbase客户端环境中的另一个群集时。我运行的命令是:
hbase org.apache.hadoop.hbase.mapreduce.CopyTable --peer.adr=[destination zk]:/hbase [source table name]
我收到此错误:
线程“主”中的异常java.io.FileNotFoundException:文件确实 不存在: hdfs://服务器名称:8020 / opt / hbase-1.2.10 / lib / metrics-core-2.2.0.jar位于 org.apache.hadoop.hdfs.DistributedFileSystem $ 17.doCall(DistributedFileSystem.java:1072) 在 org.apache.hadoop.hdfs.DistributedFileSystem $ 17.doCall(DistributedFileSystem.java:1064) 在 org.apache.hadoop.fs.FileSystemLinkResolver.resolve(FileSystemLinkResolver.java:81)
/opt/hbase-1.2.10/lib/metrics-core-2.2.0.jar
在我的本地路径上,但在hdfs中不存在。似乎CopyTable util正在提交没有依赖罐的mapreduce作业。我读了几篇文章,看来唯一的解决方案是使用相同的路径将jar lib上传到hdfs。这确实是一个丑陋的解决方案。
请告知。谢谢!