0

I have an appliance with a standalone hbase server which stores data on the file system. It is running hbase version 0.94.17. This is basically used to support Open TSDB.

I am trying to automate the process of upgrade to 1.2.4. The data does not contain any hfile v1.

When I run the below command,

./hbase hfile -f path/to/hbase/data/files -m

and I get majorVersion=2 for all the files.

I have gone through this document : https://github.com/apache/hbase/blob/master/src/main/asciidoc/_chapters/upgrading.adoc

and I need a few clarifications regarding the following aspects:

  • The hbase controlled zookeeper that needs to be running for upgrade to work - should it be from the 0.94 version itself or is the zookeeper that is shipped with 1.2.4 enough? - I ask this because, when the appliance is upgraded, I will lose access to 0.94 hbase binaries and services

  • I have read this answer: http://apache-hbase.679495.n3.nabble.com/HFile-V2-vs-HFile-V3-td4060405.html#a4060408 - does this mean that hfile v2 and v3 are compatible? Can 1.2.4 run with hfile v2? I know that hfile v3 is turned on by default in 1.2.4 - is there a way to force hbase to use hfile v2? - what if my data does not have extra meta tag fields?

  • All I want is to carry forward data. Is there a backup and restore strategy which can work with only 1.2.4 on the system and some parts of 0.94 binaries retained in the system?

I am still getting the hang of these things and I am trying to gather as much information as possible before making a decision. Please let me know if I have missed anything, given my scenario.

HelloWorld
  • 17
  • 1
  • 9
  • Is it possible to create a new version 1.2 cluster and just use snapshot export and restore? That seems like the easiest way to a.) not lose data and b.) get data converted into new formats without too much trouble. I see you say "standalone", but my question still stands.. – WattsInABox May 09 '17 at 19:42
  • If I understand you correctly - you are asking me to export a snapshot using 0.94 shell and restore it using 1.2 shell? I think 1.2.4 would not know how to take snapshot of 0.94 data right? Do I just take snapshot and clone table using that snapshot similar to what is given here : http://hbase.apache.org/0.94/book/ops.snapshots.html ? Thanks. – HelloWorld May 09 '17 at 22:29
  • You would snapshot on your cluster using your hbase shell, export the snapshot to your new cluster's hdfs namenode using the export snapshot tool, then import the snapshot using the hbase shell on your new cluster. The one major hiccup to watch for is different version of hbase put snapshots in different folders. So to get the folder right, you might have to create a snapshot on the new cluster and find that snapshot on disk. Other than that, the directions should work for you... "Export to another cluster" is the step I'm referencing where you may have issues. – WattsInABox May 31 '17 at 17:31

0 Answers0