============Hive的beeline權限配置============
core-site.xml 的羣集範圍高級配置代碼段(安全閥)添加
<property>
<name>hadoop.proxyuser.hadoop.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.hadoop.groups</name>
<value>*</value>
</property>
2)YARN (MR2 Included)修改core-site.xml配置
java.sql.SQLException: Could not open client transport with JDBC Uri: jdbc:hive2://localhost:10000/default: java.net.ConnectException: 拒絕連接
解決方式:在hadoop的配置文件core-site.xml增加如下配置,重啓hdfs,其中“xxx”是連接beeline的用戶,將“xxx”替換成自己的用戶名即可。最關鍵的是一定要重啓hadoop,先stop-all.sh,再start-all.sh,否則不會生效的!!那樣就還是報錯!
core-site.xml 的 YARN 服務高級配置代碼段(安全閥)添加
<property>
<name>hadoop.proxyuser.hadoop.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.hadoop.groups</name>
<value>*</value>
</property>
"*" 表示可通過超級代理“xxx”操作hadoop的用戶、用戶組和主機
hive-site.xml 的 Hive 服務高級配置代碼段(安全閥)添加
<property>
<name>hive.server2.authentication</name>
<value>CUSTOM</value>
</property>
<property>
<name>hive.server2.custom.authentication.class</name>
<value>org.joy.hive.auth.CustomHiveServer2Auth</value>
</property>
<property>
<name>hive.server2.custom.authentication.file</name>
<value>/etc/hive/conf/hive.server2.users.conf</value>
</property>
gitee地址: https://gitee.com/xqg1316/hive_auth.git
將上面的程序打包成HiveServer2Auth.jar,放到 Hive 輔助 JAR 目錄 下
① 注: 將 HiveServer2Auth.jar 放到所有 hive 的節點上
# 將 HiveServer2Auth.jar 上傳到服務器的/opt/data/目錄下
# 將jar上傳到 Hive輔助JAR 目錄下
[joy@hadoop002 data]# cp /opt/data/HiveServer2Auth.jar /usr/share/java/
scp /usr/share/java/HiveServer2Auth.jar root@hadoop001:/usr/share/java/
scp /usr/share/java/HiveServer2Auth.jar root@hadoop002:/usr/share/java/
scp /usr/share/java/HiveServer2Auth.jar root@hadoop003:/usr/share/java/
② 注: 將這個 hive.server2.users.conf 文件需要放到所有 HiveServer2 服務 節點上
注意: 每次進行修改hive-site.xml配置時會可能需要重新配置hive.server2.users.conf文件
再將hive.server2.users.conf放到 /etc/hive/conf 目錄下
# 格式: 用戶名,密碼 這裏的密碼是md5加密後的
# e.g.
# 明文: bigdata,123456
[root@hadoop001 ~]# cd /etc/hive/conf
[root@hadoop001 conf]# vim hive.server2.users.conf
# 編輯內容後保存
hive,8a4ac216fb230da3834de641b3e5d0f7
bigdata,27819cfe72583a34d13a40bb74154c91
personas,7fa686506d1b18330762c7a3b7801c99
product,f5bf48aa40cad7891eb709fcf1fde128
operation,f7235a61fdc3adc78d866fd8085d44db
將這個 hive.server2.users.conf 文件分發到 hiveServer2 的節點上
[root@hadoop001 conf]# scp /etc/hive/conf/hive.server2.users.conf root@hadoop002:/etc/hive/conf/
beeline連接hive
beeline -u jdbc:hive2://hadoop002:10000 -n hive -p hive beeline -u jdbc:hive2://hadoop002:10000 -n hive -p hive -e "select * from db.table_name"