I am using 3.4.0 to build hydrator pipeline. My question is how to use Hbase sink component. I am connecting oracle database and getting records. Now I would like to put these records in Hbase table. I created table and gave correct Zookeeper information. But I am seeing runtime exception. Here is the log -
016-05-03 09:22:32,768 - ERROR [MapReduceRunner-phase-1:c.c.c.i.a.r.b.MapReduceRuntimeService@299] - Exception when submitting MapReduce Job: job=phase-1,=namespaceId=default, applicationId=NovusBulkLoad, program=phase-1, runid=8f493f72-1110-11e6-ae87-0800277b27cc
co.cask.tephra.TransactionFailureException: Failed to execute method beforeSubmit inside a transaction
at co.cask.cdap.data2.transaction.Transactions.execute(Transactions.java:177) ~[co.cask.cdap.cdap-data-fabric-3.4.0.jar:na]
at co.cask.cdap.internal.app.runtime.batch.MapReduceRuntimeService.beforeSubmit(MapReduceRuntimeService.java:466) ~[co.cask.cdap.cdap-app-fabric-3.4.0.jar:na]
at co.cask.cdap.internal.app.runtime.batch.MapReduceRuntimeService.startUp(MapReduceRuntimeService.java:204) ~[co.cask.cdap.cdap-app-fabric-3.4.0.jar:na]
at com.google.common.util.concurrent.AbstractExecutionThreadService$1$1.run(AbstractExecutionThreadService.java:47) [com.google.guava.guava-13.0.1.jar:na]
at co.cask.cdap.internal.app.runtime.batch.MapReduceRuntimeService$1$1.run(MapReduceRuntimeService.java:386) [co.cask.cdap.cdap-app-fabric-3.4.0.jar:na]
at java.lang.Thread.run(Thread.java:745) [na:1.7.0_75]
Caused by: java.lang.RuntimeException: hbase-default.xml file seems to be for and old version of HBase (null), this version is 0.98.6.1-hadoop2
at org.apache.hadoop.hbase.HBaseConfiguration.checkDefaultsVersion(HBaseConfiguration.java:73) ~[na:na]
at org.apache.hadoop.hbase.HBaseConfiguration.addHbaseResources(HBaseConfiguration.java:105) ~[na:na]
at co.cask.hydrator.plugin.sink.HBaseSink.prepareRun(HBaseSink.java:75) ~[1462267351269-0/:na]
at co.cask.hydrator.plugin.sink.HBaseSink.prepareRun(HBaseSink.java:57) ~[1462267351269-0/:na]
at co.cask.cdap.etl.batch.LoggedBatchConfigurable$1.call(LoggedBatchConfigurable.java:44) ~[cdap-etl-batch-3.4.0.jar:na]
at co.cask.cdap.etl.batch.LoggedBatchConfigurable$1.call(LoggedBatchConfigurable.java:41) ~[cdap-etl-batch-3.4.0.jar:na]
at co.cask.cdap.etl.log.LogContext.run(LogContext.java:59) ~[cdap-etl-core-3.4.0.jar:na]
at co.cask.cdap.etl.batch.LoggedBatchConfigurable.prepareRun(LoggedBatchConfigurable.java:41) ~[cdap-etl-batch-3.4.0.jar:na]
at co.cask.cdap.etl.batch.mapreduce.ETLMapReduce.beforeSubmit(ETLMapReduce.java:189) ~[cdap-etl-batch-3.4.0.jar:na]
at co.cask.cdap.internal.app.runtime.batch.MapReduceRuntimeService$2.call(MapReduceRuntimeService.java:471) ~
One more question, if cluster is enabled with kerberoes authentication, how does this Hbase sink behave, where should we specify the keytab file?