Mag*_*dus 3 hadoop hive beeline
当我尝试使用 hiverserver2 启动 Hive 时,出现以下错误。
Connecting to jdbc:hive2://localhost:10000
18/10/25 09:45:38 [main]: WARN jdbc.HiveConnection: Failed to connect to localhost:10000
Error: Could not open client transport with JDBC Uri: jdbc:hive2://localhost:10000: Failed to open new session: java.lang.RuntimeException: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.authorize.AuthorizationException): User: deco is not allowed to impersonate anonymous (state=08S01,code=0)
Run Code Online (Sandbox Code Playgroud)
我使用的用户名是deco。
我还在 core-site.xml 文件中添加了以下条目:
<property>
<name>hadoop.proxyuser.deco.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.deco.groups</name>
<value>*</value>
</property>
Run Code Online (Sandbox Code Playgroud)
我仍然无法使用直线连接。我使用了以下命令:
$HIVE_HOME/bin/beeline -u jdbc:hive2://localhost:10000
Run Code Online (Sandbox Code Playgroud)
和
$HIVE_HOME/bin/beeline -n $(whoami) -u jdbc:hive2://localhost:10000
Run Code Online (Sandbox Code Playgroud)
我什至备份了 Metastore_db 文件夹并使用以下命令重新启动:
$HIVE_HOME/bin/schematool -dbType derby -initSchema
Run Code Online (Sandbox Code Playgroud)
我什至在 10001 端口上启动 hiveserver2 并将直线连接到 10001 ,但仍然遇到相同的错误
以上一切都证明是徒劳的。
救救我快死了
Joe*_*ing 10
我曾经遇到过这个错误
\n\n\n\n\n用户 * 不允许冒充匿名
\n
这是因为默认情况下 hive 尝试以调用用户的身份执行操作,我将以下几行添加到 hive 配置文件 conf/hive-site.xml 中,要求 hive 以 hiveserver2 进程用户的身份执行操作,然后摆脱它错误:
\n\n <property>\n <name>hive.server2.enable.doAs</name>\n <value>false</value>\n <description>\n Setting this property to true will have HiveServer2 execute\n Hive operations as the user making the calls to it.\n </description>\n </property>\nRun Code Online (Sandbox Code Playgroud)\n\n这是文件:
\n\n\n\n冒充
\n\n默认情况下,HiveServer2 以提交查询的用户身份执行查询处理。但如果以下参数设置为 false,则查询将以 hiveserver2 进程运行的用户身份运行。
\n\nhive.server2.enable.doAs \xe2\x80\x93 模拟连接的用户,默认\n true。
\n