DBeaver 連接hive

連接如圖(自己搭建的hive沒設置的話用戶名跟密碼可以不用填):

異常報錯:

1、User: xxx is not allowed to impersonate root),xxx是自己的電腦名字,這個不重要

解決思路,進入hadoop 目錄/etc/hadoop/ 編輯core-site.xml ,在配置裏添加 


<property>
    <name>hadoop.proxyuser.root.hosts</name>
    <value>*</value>
</property>
<property>
    <name>hadoop.proxyuser.root.groups</name>
    <value>*</value>
</property>

正常情況下不需要修改任何內容,可是我這裏的用戶是xxx,所以需要把root,改成報錯的時候的名字也就是上面的xxx

<property>
    <name>hadoop.proxyuser.xxx.hosts</name>
    <value>*</value>
</property>
<property>
    <name>hadoop.proxyuser.xxx.groups</name>
    <value>*</value>
</property>

2、解決了異常(1)之後還是出現了 Permission denied: user=root, access=EXECUTE, inode="/tmp":xxx:xxx, xxx是名字,權限問題

解決思路,進入hadoop 目錄 /etc/hadoop/ 編輯 hdfs-site.xml ,在配置裏添加

<property>
  	<name>dfs.permissions.enabled</name>
  	<value>false</value>
</property>

3、滿懷期待的解決了異常(2)之後又出現了Could not open client transport with JDBC Uri: jdbc:hive2://127.0.0.1:10000/default: 

java.net.ConnectException

解決思路,檢查hiveserver2 是否啓動,執行命令查看10000端口

如果圖片如下所示就表示啓動了,啓動hiveServer 命令如下

hive --service hiveserver2

在這裏的時候要稍等一會,因爲不是立馬就可以了至少要有5、6個會話

然後用客戶端DBeaver嘗試連接hive,終於成功了!!!

4、在DBeaver 執行語句時報錯,相同的語句在hive shell中執行就完全沒有問題:

Job Submission failed with exception 'org.apache.hadoop.security.AccessControlException(Permission denied: user=anonymous, access=EXECUTE, inode="/tmp/hadoop-yarn":xxx:xxx:drwx------

1、要麼直接在hive shell中執行sql語句

2、要麼就是把hdfs 的tmp目錄修改權限

hdfs dfs -chmod -R 777 /tmp

=============================================================================================

DBeaver 在線下載hive 驅動一直失敗,在這裏我也是經過長時間的查找終於找到了,也一併貢獻給大家

鏈接:https://pan.baidu.com/s/1f5g7fHpjrEp2MbRdzGLK6A  密碼:ndge

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章