p{margin-top:0px;margin-bottom:0px;} Hi, Hive user mailing list memebers,
 
 
I am testing Hive-HBase integration on a Hadoop cluster.
The cluster uses CDH5.4.4 with Kerberos enabled.
 
Following the documentation of Cloudera and Apache HiveHBaseIntegration, I 
installed
hive-hbase package on a client machine.
Then, I tried some commands as follows:
 
1) login as "testuser" and run kinit
2) run hive
3) add jars
ADD JAR /usr/lib/hive/lib/zookeeper.jar;
ADD JAR /usr/lib/hive/lib/hive-hbase-handler.jar
ADD JAR /usr/lib/hive/lib/guava-14.0.1.jar;
ADD JAR /usr/lib/hive/lib/hbase-client.jar;
ADD JAR /usr/lib/hive/lib/hbase-common.jar;
ADD JAR /usr/lib/hive/lib/hbase-hadoop-compat.jar;
ADD JAR /usr/lib/hive/lib/hbase-hadoop2-compat.jar;
ADD JAR /usr/lib/hive/lib/hbase-protocol.jar;
ADD JAR /usr/lib/hive/lib/hbase-server.jar;
ADD JAR /usr/lib/hive/lib/htrace-core.jar;
4) create a table
CREATE TABLE hbase_table_1(key int, value string) 
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,cf1:val")
TBLPROPERTIES ("hbase.table.name" = "test:xyz");
5) insert some data
INSERT OVERWRITE TABLE hbase_table_1 SELECT 1, 'first_row' FROM t1; 
 
I already created a namespace "test" and gave full permission (RWXCA) to the 
"testuser" account.
 
However, the step 5) fails with the following error messages, 
uery ID = testuser_20150910164848_d22bfbac-107a-45d9-acfb-63a983806e46
Total jobs = 1
Launching Job 1 out of 1
Number of reduce tasks is set to 0 since there's no reduce operator
java.lang.RuntimeException: 
org.apache.hadoop.hbase.security.AccessDeniedException: 
org.apache.hadoop.hbase.security.AccessDeniedException: Insufficient 
permissions (user=testu...@mykerberos.com, scope=hbase:meta, 
params=[table=hbase:meta],action=EXEC)
        at 
org.apache.hadoop.hbase.security.access.AccessController.requirePermission(AccessController.java:428)
        at 
org.apache.hadoop.hbase.security.access.AccessController.preEndpointInvocation(AccessController.java:2069)


While digging the cause of this error, I found that giving the global execute 
permission solves this problem.
hbase> grant 'testuser', 'X'
 
But, I can't find this solution from any document (please notify me if there is 
some reference about this).
Why should I need to give any global permission while I gave the full 
permission on the namespace where 
the table belongs to?
 
 
Best wishes,
HanCheol
 
 
 趙漢哲  CHO, HAN-CHEOL (Ph.D) 
 データ研究室   / 社員 
  --> 〒105-6322 東京都港区虎ノ門1-23-1 虎ノ門ヒルズ森タワー22階
Email  hancheol....@nhn-playart.com   Messenger   

NHN PlayArt 株式会社
 

Reply via email to