Hive 升级到hive 2之后的若干问题总结

问题1 Hive Server连接不上

beeline 显示日志如下:

19/03/28 15:18:31 INFO HiveConnection: Will try to open client transport with JDBC Uri: jdbc:hive2://localhost:8090/;
19/03/28 15:18:31 INFO HiveConnection: Could not open client transport with JDBC Uri: jdbc:hive2:///localhost:8090/;
19/03/28 15:18:31 INFO HiveConnection: Transport Used for JDBC connection: null

###原因分析
升级之后,hive启动时间变长。先确保hive server监听指定端口时,再连接。

  • 找到Hive Server的进程号。
[root@localhost ~]# ps aux | grep HiveServer2
root      1868  0.0  0.0 105300   896 pts/8    S+   10:57   0:00 grep HiveServer2
urls     27644 22.3  0.7 12608724 1036096 pts/7 Sl+ 10:56   0:17 /usr/local/jdk/bin/java -Xmx4096m -server -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=65 -XX:+CMSParallelRemarkEnabled -XX:CMSMaxAbortablePrecleanTime=1000 -XX:+CMSClassUnloadingEnabled -XX:+DisableExplicitGC -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -verbose:gc -XX:+PrintGCDateStamps -XX:+PrintGCApplicationStoppedTime -XX:NumberOfGCLogFiles=9 -XX:GCLogFileSize=20m -XX:+DisableExplicitGC -XX:+PrintGCApplicationConcurrentTime -Xloggc:/home/data/hive/logs/hiveserver2_gc.log -Dcom.sun.management.jmxremote.port=9001 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.net.preferIPv4Stack=true -Djava.library.path=/usr/local/hadoop/lib/native -Dhadoop.log.dir=/home/data/hadoop/logs -Dhadoop.log.file=hadoop.log -Dhadoop.home.dir=/home/hadoop/hadoop-2.7.5 -Dhadoop.id.str=urls -Dhadoop.root.logger=INFO,console -Djava.library.path=/usr/local/hadoop/lib/native -Dhadoop.policy.file=hadoop-policy.xml -Djava.net.preferIPv4Stack=true -Xmx512m -Dproc_hiveserver2 -Xmx10240m -Xms10240m -Xmn2048m -Dlog4j.configurationFile=hive-log4j2.properties -Djava.util.logging.config.file=/usr/local/hive/bin/../conf/parquet-logging.properties -Dhadoop.security.logger=INFO,NullAppender org.apache.hadoop.util.RunJar /usr/local/hive/lib/hive-service-2.3.4.jar org.apache.hive.service.server.HiveServer2 --hiveconf com.baidu.xbu.user=houzhizhen


  • 直到hive server监听指定端口再连接。
[root@localhost ~]# netstat -tulnp | grep 27644
tcp        0      0 0.0.0.0:54769               0.0.0.0:*                   LISTEN      27644/java          
tcp        0      0 0.0.0.0:28760               0.0.0.0:*                   LISTEN      27644/java          
tcp        0      0 0.0.0.0:9001                0.0.0.0:*                   LISTEN      27644/java          

问题2 User: xxx is not allowed to impersonate xxx

现象

Caused by: org.apache.hadoop.security.authorize.AuthorizationException: User: houzhizhen is not allowed to impersonate houzhizhen
	at sun.reflect.GeneratedConstructorAccessor29.newInstance(Unknown Source)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
	at org.apache.hadoop.yarn.ipc.RPCUtil.instantiateException(RPCUtil.java:53)
	at org.apache.hadoop.yarn.ipc.RPCUtil.unwrapAndThrowException(RPCUtil.java:104)
	at org.apache.hadoop.yarn.api.impl.pb.client.ApplicationClientProtocolPBClientImpl.getNewApplication(ApplicationClientProtocolPBClientImpl.java:224)

查看hive-site.xml中hive.server2.enable.doAs是否设置为true。如果没有设置,默认为true。 需要手动设置为false

 <property>
                <name>hive.server2.enable.doAs</name>
                <value>false</value>
        </property>

如果设置此值,则所有任务的提交用户都是启动hiveserver的用户。

如果hive.server2.enable.doAs设置为true,则需要hiveserver需要启动在 超级账号下。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值