与直线相关的权限问题

问题描述

问题

为什么我不能用用户ubuntu连接到HiverServer2,但是用户hadoop可以吗?

简报

我在作为操作系统的操作系统为Ubuntu 18.04.5 LTS的名称节点的计算机上创建了一个用户hadoop,并建立了具有4个工作线程的Hadoop集群。

Hadoop 3.3.0
Source code repository https://gitBox.apache.org/repos/asf/hadoop.git -r aa96f1871bfd858f9bac59cf2a81ec470da649af
Compiled by brahma on 2020-07-06T18:44Z
Compiled with protoc 3.7.1
From source with checksum 5dc29b802d6ccd77b262ef9d04d19c4
This command was run using /opt/hadoop-3.3.0/share/hadoop/common/hadoop-common-3.3.0.jar

然后,我在集群上的服务器模式下用Derby构建了Hive。

SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/home/hadoop/apache-hive-3.1.2-bin/lib/log4j-slf4j-impl-2.10.0.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/opt/hadoop-3.3.0/share/hadoop/common/lib/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory]
Hive 3.1.2
Git git://HW13934/Users/gates/tmp/hive-branch-3.1/hive -r 8190d2be7b7165effa62bd21b7d60ef81fb0e4af
Compiled by gates on Thu Aug 22 15:01:18 PDT 2019
From source with checksum 0492c08f784b188c349f6afb1d8d9847

以下是我试图执行的操作。

$ beeline
beeline> !connect jdbc:hive2://master:10000 APP ${password}

当我用hadoop执行时,我收到了成功的消息。

Connecting to jdbc:hive2://master:10000
Connected to: Apache Hive (version 3.1.2)
Driver: Hive JDBC (version 3.1.2)
Transaction isolation: TRANSACTION_REPEATABLE_READ

当我用ubuntu执行时,收到错误消息。

WARN jdbc.HiveConnection: Failed to connect to master:10000
Error: Could not open client transport with JDBC Uri: jdbc:hive2://master:10000: 
Failed to open new session: java.lang.RuntimeException:
org.apache.hadoop.ipc.remoteexception(org.apache.hadoop.security.authorize.AuthorizationException): 
User: hadoop is not allowed to impersonate APP (state=08S01,code=0)

我尝试按照AuthorizationException: User not allowed to impersonate User中的neeraj修改core-site.xmlhive-site.xml,但仍然收到相同的错误消息。


这就是我添加core-site.xmlhive-site.xml中的内容

<!--core-site.xml-->
<!--This addition is done in the master node and every worker-->
<property>
  <name>hadoop.proxyuser.hadoop.groups</name>
  <value>*</value>
</property>
<property>
  <name>hadoop.proxyuser.hadoop.hosts</name>
  <value>*</value>
</property>
<!--hive-stie.xml-->
<property>
  <name>hive.server2.enable.doAs</name>
  <value>true</value>
  <description>Impersonate the connected user,default true.</description>
</property>

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...