我们有一个presto(版本-323-e.8)连接器,它支持ranger的cdp hive3集群,我可以在现有的配置单元orc上运行select查询,但无法在配置单元metastore上创建或删除任何视图。它抛出了权限问题错误,我的管理员已经从ranger&ad将所有权限授予了该用户,并且我能够从beeline对服务器上的同一用户执行所有操作。配置单元属性:
* connector.name=hive-hadoop2
hive.metastore.uri=thrift://XXXXX
hive.views-execution.enabled=true
hive.metastore.authentication.type=KERBEROS
hive.metastore.service.principal=hive/_HOST@XXXX
hive.metastore.client.principal=XXXXX
hive.metastore.client.keytab=/abc/xxxx.keytab
hive.hdfs.wire-encryption.enabled=false
hive.metastore.thrift.impersonation.enabled=true
hive.config.resources=/etc/cdp/core-site.xml,/etc/cdp/hdfs-site.xml,/etc/cdp/hive-site.xml
hive.hdfs.authentication.type=KERBEROS
hive.hdfs.presto.principal=hdfs/_HOST@XXXXX
hive.hdfs.presto.principal=XXXX
hive.hdfs.presto.keytab=/abc/xxxx.keytab
hive.security=ranger
ranger.policy-rest-url=https://XXXXX:6182
ranger.service-name=cm_hive
ranger.authentication-type=KERBEROS
ranger.kerberos-principal=XXXX
ranger.kerberos-keytab=/abc/xxxx.keytab
ranger.plugin-policy-ssl-config-file=/abc/ssl-client.xml*
错误:io.prestosql.spi.prestoexception:不允许操作类型create\u viewuser:xx at io.prestosql.plugin.hive.metastore.thrift.thrifthivemetastore.createtable(thrifthivemetastore。java:1036)在io.prestosql.plugin.hive.metastore.thrift.bridginghivemetastore.createtable(bridginghivemetastore。java:184)在io.prestosql.plugin.hive.metastore.cache.cachinghivemetastore.createtable(cachinghivemetastore。java:524)在io.prestosql.plugin.hive.metastore.cache.cachinghivemetastore.createtable(cachinghivemetastore。java:524)在io.prestosql.plugin.hive.metastore.semiteTransactionalHiveMetastore$createtableoperation.run(semiteTransactionalHiveMetastore。java:2692) 位于io.prestosql.plugin.hive.metastore.semiteransactionalhivemetastore$committer.executeadTableOperations(semiteransactionalhivemetastore)。java:1668)位于io.prestosql.plugin.hive.metastore.semiteransactionalhivemetastore$committer.access$1000(semiteransactionalhivemetastore)。java:1282)在io.prestosql.plugin.hive.metastore.semiteransactionalhivemetastore.commitshared(semiteransactionalhivemetastore)。java:1225)位于io.prestosql.plugin.hive.metastore.semiteransactionalhivemetastore.commit(semiteransactionalhivemetastore)。java:991)在io.prestosql.plugin.hive.hivemetadata.commit(hivemetadata。java:2408)在io.prestosql.plugin.hive.hiveconnector.commit(hiveconnector。java:202)在io.prestosql.transaction.inmemorytransactionmanager$transactionmetadata$connectortransactionmetadata.commit(inmemorytransactionmanager。java:595)在java.util.concurrent.executors$runnableadapter.call(executors。java:511)在com.google.common.util.concurrent.trustedlistenablefuturetask$trustedFutureInterruptableTask.runInterruptbly(trustedlistenablefuturetask)。java:125)在com.google.common.util.concurrent.interruptibletask.run(interruptibletask。java:57)在com.google.common.util.concurrent.trustedlistenablefuturetask.run(trustedlistenablefuturetask。java:78)在io.airlift.concurrent.boundedexecutor.drainqueue(boundedexecutor。java:78)位于java.util.concurrent.threadpoolexecutor.runworker(threadpoolexecutor。java:1149)在java.util.concurrent.threadpoolexecutor$worker.run(threadpoolexecutor。java:624)在java.lang.thread.run(线程。java:748)原因:org.apache.hadoop.hive.metastore.api.metaexception:不允许的操作类型创建视图user:xx at org.apache.hadoop.hive.metastore.api.thrifthivemetastore$create\u table\u result$create\u table\u resultstandardscheme.read(thrifthivemetastore)。java:52658)在org.apache.hadoop.hive.metastore.api.thrifthivemetastore$create\u table\u result$create\u table\u resultstandardscheme.read(thrifthivemetastore)。java:52626)在org.apache.hadoop.hive.metastore.api.thrifthivemetastore$create\u table\u result.read(thrifthivemetastore)上。java:52552)位于org.apache.thrift.tserviceclient.receivebase(tserviceclient。java:86)在org.apache.hadoop.hive.metastore.api.thrifthivemetastore$client.recv\u create\u table(thrifthivemetastore)。java:1490)在org.apache.hadoop.hive.metastore.api.thrifthivemetastore$client.create\ table(thrifthivemetastore)上。java:1477)位于sun.reflect.nativemethodaccessorimpl.invoke0(本机方法)sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl。java:62)在sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl。java:43)在java.lang.reflect.method.invoke(方法。java:498)在io.prestosql.plugin.base.util.logginginvocationhandler.handleinvocation(logginginvocationhandler。java:60)在com.google.common.reflect.abstractinvocationhandler.invoke(abstractinvocationhandler。java:86)在com.sun.proxy.$proxy370.create\u table(未知源)at io.prestosql.plugin.hive.metastore.thrift.thrifthivemetastoreclient.createtable(thrifthivemetastoreclient。java:161)在io.prestosql.plugin.hive.metastore.thrift.thrifthivemetastore.lambda$createtable$51(thrifthivemetastore)。java:1024)在io.prestosql.plugin.hive.metastore.thrift.thriftmetastoreapists.lambda$wrap$0(thriftmetastoreapists)。java:42)在io.prestosql.plugin.hive.util.retrydriver.run(retrydriver。java:130)在io.prestosql.plugin.hive.metastore.thrift.thrifthivemetastore.createtable(thrifthivemetastore。java:1022) ... 19个以上
暂无答案!
目前还没有任何答案,快来回答吧!