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)