beeline无密码链接hiveserver2

一、说明html

#hiveserver2增长了权限控制,须要在hadoop的配置文件中配置 core-site.xml 增长如下内容: <property>
        <name>hadoop.proxyuser.root.hosts</name>
        <value>*</value>
    </property>
    <property>
        <name>hadoop.proxyuser.root.groups</name>
        <value>*</value>
    </property> #而后要重启hadoop

 

二、启动hiveserver2java

#后台启动,我这里对hive加了环境变量 [root@node1 ~]#nohup hiveserver2 >>/opt/hive-2.1.1/hiveserver2.log &

 

三、查看node

[root@node1 ~]# netstat -ntlp |grep 10000 tcp 0      0 0.0.0.0:10000           0.0.0.0:*               LISTEN      5144/java 
#10002端口是hiveserver2的一个web端口,能够用浏览器打开:ip:10002 [root@node1
~]# netstat -ntlp |grep 10002 tcp 0 0 0.0.0.0:10002 0.0.0.0:* LISTEN 5144/java

 

四、使用beeline链接web

[root@node1 ~]# beeline Beeline version 2.1.1 by Apache Hive beeline> !connect jdbc:hive2://localhost:10000/default; #链接default库
SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/opt/hive-2.1.1/lib/log4j-slf4j-impl-2.4.1.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/opt/hadoop-2.7.3/share/hadoop/common/lib/slf4j-log4j12-1.7.10.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://localhost:10000/default;
Enter username for jdbc:hive2://localhost:10000/default;: #直接回车
Enter password for jdbc:hive2://localhost:10000/default;: #直接回车
Connected to: Apache Hive (version 2.1.1) Driver: Hive JDBC (version 2.1.1) 19/12/11 10:54:49 [main]: WARN jdbc.HiveConnection: Request to set autoCommit to false; Hive does not support autoCommit=false. Transaction isolation: TRANSACTION_REPEATABLE_READ 0: jdbc:hive2://localhost:10000/default> show tables;
+-----------+--+
| tab_name  |
+-----------+--+
+-----------+--+ No rows selected (1.408 seconds) 0: jdbc:hive2://localhost:10000/default> !exit #退出
Closing: 0: jdbc:hive2://localhost:10000/default;

 

五、可能的问题sql

有可能用beeline链接数据库时,会报错:AccessControlException: Permission denied: user=anonymous, access=EXECUTE, inode="/tmp/hive":root:supergroup:d-wx-w 相似于以上错误;能够对hdfs上的/tmp目录加权: [root@node1 ~]# hdfs dfs -chmod -R 777 /tmp
 
  
我这里是本身的测试集群用的root用户,生产环境应该是普通用户,并且应该谨慎操做;


当执行sql语句时,若是报如下错误:
Error: Error while processing statement: FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask.
User: root is not allowed to impersonate anonymous (state=08S01,code=1)

能够先kill掉hiveserver2,在hive-site.xml加入如下内容:

<property>
     <name>hive.server2.authentication</name>
     <value>NONE</value>
</property>数据库

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

<property>
     <name>hive.server2.enable.doAs</name>
     <value>FALSE</value>
</property>浏览器

相关文章
相关标签/搜索