[ 
https://issues.apache.org/jira/browse/PHOENIX-3835?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16033326#comment-16033326
 ] 

Sergey Soldatov commented on PHOENIX-3835:
------------------------------------------

You may try to set up HBASE_CONF_DIR to the directory where hbase-site is 
located. Or put this location to HADOOP_CLASSPATH. 

> CSV Bulkload fails if hbase mapredcp was used for classpath
> -----------------------------------------------------------
>
>                 Key: PHOENIX-3835
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-3835
>             Project: Phoenix
>          Issue Type: Bug
>            Reporter: Sergey Soldatov
>
> For long period of time our documentation has  a recommendation to use hbase 
> mapredcp for HADOOP_CLASSPATH when MR bulk load is used. Actually it doesn't 
> work and in this case the job will fail with the exception:
> {noformat}
> Exception in thread "main" java.lang.RuntimeException: 
> java.lang.RuntimeException: java.lang.ClassNotFoundException: Class 
> org.apache.phoenix.mapreduce.bulkload.TableRowkeyPair not found
>         at 
> org.apache.hadoop.conf.Configuration.getClass(Configuration.java:2246)
>         at 
> org.apache.hadoop.mapred.JobConf.getMapOutputKeyClass(JobConf.java:813)
>         at 
> org.apache.hadoop.mapreduce.task.JobContextImpl.getMapOutputKeyClass(JobContextImpl.java:142)
>         at 
> org.apache.hadoop.hbase.mapreduce.TableMapReduceUtil.addDependencyJars(TableMapReduceUtil.java:779)
>         at 
> org.apache.phoenix.mapreduce.MultiHfileOutputFormat.configureIncrementalLoad(MultiHfileOutputFormat.java:698)
>         at 
> org.apache.phoenix.mapreduce.AbstractBulkLoadTool.submitJob(AbstractBulkLoadTool.java:330)
>         at 
> org.apache.phoenix.mapreduce.AbstractBulkLoadTool.loadData(AbstractBulkLoadTool.java:299)
>         at 
> org.apache.phoenix.mapreduce.AbstractBulkLoadTool.run(AbstractBulkLoadTool.java:182)
>         at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:76)
>         at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:90)
>         at 
> org.apache.phoenix.mapreduce.CsvBulkLoadTool.main(CsvBulkLoadTool.java:117)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>         at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:498)
>         at org.apache.hadoop.util.RunJar.run(RunJar.java:233)
>         at org.apache.hadoop.util.RunJar.main(RunJar.java:148)
> Caused by: java.lang.RuntimeException: java.lang.ClassNotFoundException: 
> Class org.apache.phoenix.mapreduce.bulkload.TableRowkeyPair not found
>         at 
> org.apache.hadoop.conf.Configuration.getClass(Configuration.java:2214)
>         at 
> org.apache.hadoop.conf.Configuration.getClass(Configuration.java:2238)
>         ... 16 more
> Caused by: java.lang.ClassNotFoundException: Class 
> org.apache.phoenix.mapreduce.bulkload.TableRowkeyPair not found
>         at 
> org.apache.hadoop.conf.Configuration.getClassByName(Configuration.java:2120)
>         at 
> org.apache.hadoop.conf.Configuration.getClass(Configuration.java:2212)
>         ... 17 more
> {noformat}
> I may be wrong, but it looks like a side effect of HBASE-12108.  Not sure 
> whether it's possible to fix it on phoenix side or we just need to update the 
> documentation to use it for some specific versions of HBase. In most cases 
> everything works just fine without specifying HADOOP_CLASSPATH.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to