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)

Reply via email to