日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

hiveserver2 連接報:root is not allowed to impersonate anonymous (state=08S01,code=0)

作者:從零開始的數據猿 更新時間: 2022-05-13 編程語言
[root@node300 /root]$ beeline -u jdbc:hive2://node300:10000
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/usr/local/hive/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:/usr/local/hadoop/hadoop-3.2.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]
Connecting to jdbc:hive2://node300:10000
20/01/15 14:04:17 [main]: WARN jdbc.HiveConnection: Failed to connect to node300:10000
Error: Could not open client transport with JDBC Uri: jdbc:hive2://node300:10000: Failed to open new session: java.lang.RuntimeException: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.authorize.AuthorizationException): User: root is not allowed to impersonate anonymous (state=08S01,code=0)
Beeline version 3.1.2 by Apache Hive

核心在于root is not allowed to impersonate anonymous (state=08S01,code=0),

hadoop 里面有一種安全偽裝機制,保證hadoop不允許上層系統直接將實際用戶傳遞到hadoop層,而是將實際用戶傳遞給一個超級代理,通過該代理在hadoop上面執行操作,避免任意客戶端隨意操作hadoop;而Hadoop內部還是沿用Linux對應的用戶和權限,當用戶使用哪個Linux啟動Hadoop時,對應到Hadoop里面的用戶也是那個;

所以需要去修改一下hadoop主節點里面的core-site.xml文件

<property>
    <name>hadoop.proxyuser.root.hostsname>
    <value>*value>
property>
<property>
    <name>hadoop.proxyuser.root.groupsname>
    <value>*value>
property>

注意,此處我用root運行的hadoop,你可能不是這個用戶,自行修改

hiveserver2 啟動都會占用會話,可以采用后臺啟動的方式:

nohup hive --service hiveserver2 &

訪問hive安裝的IP:10002,可以看到當前hive的連接數,以及操作的記錄

參考:https://blog.csdn.net/Maslii/article/details/103988294

原文鏈接:https://nmydt.blog.csdn.net/article/details/124565318

欄目分類
最近更新