You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Weichen Ye (JIRA)" <ji...@apache.org> on 2015/01/22 11:57:34 UTC

[jira] [Created] (HBASE-12903) Wrong Configuration in doc to enable secure bulk load

Weichen Ye created HBASE-12903:
----------------------------------

             Summary: Wrong Configuration in doc to enable secure bulk load
                 Key: HBASE-12903
                 URL: https://issues.apache.org/jira/browse/HBASE-12903
             Project: HBase
          Issue Type: Bug
          Components: Coprocessors, documentation
    Affects Versions: 0.98.6, 2.0.0
            Reporter: Weichen Ye
            Assignee: Weichen Ye


In Section "62.5. Secure Bulk Load", the doc tell us to enable secure bulkload with the configuration:

<property>
<name>hbase.coprocessor.regionserver.classes</name>
<value>org.apache.hadoop.hbase.security.token.TokenProvider,org.apache.hadoop.hbase.security.access.AccessController,org.apache.hadoop.hbase.security.access.SecureBulkLoadEndpoint</value>
</property>

When we set the configuration like this, the regionserver can not start due to this ERROR:

2015-01-22 15:55:46,395 FATAL org.apache.hadoop.hbase.regionserver.HRegionServer: ABORTING region server hadoop-node-xxxxx: The coprocessor org.apache.hado
op.hbase.security.access.SecureBulkLoadEndpoint threw java.lang.ClassCastException: org.apache.hadoop.hbase.regionserver.RegionServerCoprocessorHost$RegionServerEnvironment can not be cast to org.apache.hadoop.hbase.coprocessor.RegionCoprocessorEnvironment
java.lang.ClassCastException: org.apache.hadoop.hbase.regionserver.RegionServerCoprocessorHost$RegionServerEnvironment cannot be cast to org.apache.hadoop.hbase.coprocessor.RegionCoprocessorEnvironment
        at org.apache.hadoop.hbase.security.access.SecureBulkLoadEndpoint.start(SecureBulkLoadEndpoint.java:125)
        at org.apache.hadoop.hbase.coprocessor.CoprocessorHost$Environment.startup(CoprocessorHost.java:673)
        at org.apache.hadoop.hbase.coprocessor.CoprocessorHost.loadInstance(CoprocessorHost.java:265)
        at org.apache.hadoop.hbase.coprocessor.CoprocessorHost.loadSystemCoprocessors(CoprocessorHost.java:168)
        at org.apache.hadoop.hbase.regionserver.RegionServerCoprocessorHost.<init>(RegionServerCoprocessorHost.java:46)
        at org.apache.hadoop.hbase.regionserver.HRegionServer.run(HRegionServer.java:883)
        at java.lang.Thread.run(Thread.java:745)



In org.apache.hadoop.hbase.security.access.SecureBulkLoadEndpoint we can see, the environment for this coprocessor is: 
 private RegionCoprocessorEnvironment env;
The coprocessor "SecureBulkLoadEndpoint" should be put into "hbase.coprocessor.region.classes", instead of "hbase.coprocessor.regionserver.classes"


So, the correct configuration to enable secure bulk load is:t 

<property>
<name>hbase.coprocessor.region.classes</name>  <value>org.apache.hadoop.hbase.security.token.TokenProvider,org.apache.hadoop.hbase.security.access.AccessController,org.apache.hadoop.hbase.security.access.SecureBulkLoadEndpoint</value>
</property>





--
This message was sent by Atlassian JIRA
(v6.3.4#6332)