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

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

     [ https://issues.apache.org/jira/browse/HBASE-12903?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Weichen Ye updated HBASE-12903:
-------------------------------
    Description: 
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.hadoop.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 source code org.apache.hadoop.hbase.security.access.SecureBulkLoadEndpoint we can see, the environment for this coprocessor is "RegionCoprocessorEnvironment". So the coprocessor "SecureBulkLoadEndpoint" should be put into "hbase.coprocessor.region.classes", instead of "hbase.coprocessor.regionserver.classes"


The correct configuration to enable secure bulk load is:

<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>



  was:
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>




> 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: 2.0.0, 0.98.6
>            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.hadoop.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 source code org.apache.hadoop.hbase.security.access.SecureBulkLoadEndpoint we can see, the environment for this coprocessor is "RegionCoprocessorEnvironment". So the coprocessor "SecureBulkLoadEndpoint" should be put into "hbase.coprocessor.region.classes", instead of "hbase.coprocessor.regionserver.classes"
> The correct configuration to enable secure bulk load is:
> <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)