Here is how hbase-prefix-tree dependency is detected:
try {
prefixTreeCodecClass =
Class.forName(
"org.apache.hadoop.hbase.codec.prefixtree.PrefixTreeCodec");
} catch (ClassNotFoundException e) {
// this will show up in unit tests but should not show in real
deployments
LOG.warn("The hbase-prefix-tree module jar containing PrefixTreeCodec
is not present." +
" Continuing without it.");
}
As a workaround, consider temporarily renaming hbase-prefix-tree jar on the
node where ExportSnapshot is run.
Remember to rename hbase-prefix-tree jar back after the job.
FYI
On Fri, Apr 14, 2017 at 5:02 AM, Vasco Pinho <vasco@hotjar.com> wrote:
> Sure Ted,
>
> Here's the full trace: https://pastebin.com/AGimZ8wZ
> And here's the hbase-site.xml: https://pastebin.com/yhRWCsaU
>
> This is a working Hbase HA setup which has been happily chugging along. 3
> node HDFS JN, 3 node zk, 2 of them NN+backup NN. Also two of them
> HMaster+HMaster backup. Then several data nodes.
>
> Thanks for taking a look!
>
> Vasco
>
> On Fri, Apr 14, 2017 at 1:41 PM, Ted Yu <yuzhihong@gmail.com> wrote:
>
> > Can you show the complete stack trace ?
> >
> > Please pastebin contents of hbase/site.xml
> >
> > Thanks
> >
> > > On Apr 14, 2017, at 3:51 AM, Vasco Pinho <vasco@hotjar.com> wrote:
> > >
> > > When running:
> > >
> > > bin/hbase org.apache.hadoop.hbase.snapshot.ExportSnapshot
> > > -Dfs.s3a.buffer.dir=/tmp/hbase_snap_tmp -snapshot
> > TestTable-20170413-143020
> > > -copy-to s3a://bucket-backup/hbase/snapshots/
> > >
> > >
> > > The operation fails with:
> > >
> > >
> > > 2017-04-13 15:03:24,947 ERROR [main] snapshot.ExportSnapshot: Snapshot
> > > export failed
> > > java.io.FileNotFoundException: File does not exist:
> > > hdfs://clusterID/home/ubuntu/hbase-1.2.4/hbase-prefix-tree/
> > target/hbase-prefix-tree-1.2.4.jar
> > > at
> > > org.apache.hadoop.hdfs.DistributedFileSystem$17.
> > doCall(DistributedFileSystem.java:1072)
> > >
> > >
> > > I assume it's looking for the
> > > "/home/ubuntu/hbase-1.2.4/hbase-prefix-tree/target/
> > hbase-prefix-tree-1.2.4.jar"
> > > which does exist but obviously not under hdfs://. I don't know why this
> > > file is needed or why it's being looked for in the hdfs:// instead of
> the
> > > local filesystem, where it does exist. I confirmed that it looks under
> > > "fs.defaultFS" + <hbase install path> + <relative path to
> > hbase-prefix-tree
> > > jar", although I have no idea how to fix this. Any ideas?
> > >
> > >
> > > Thanks,
> > > Vasco Pinho
> >
>
|