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 株式会社