对于hiveserver,看教程是直接一个bin/hiveserver指令就启动了,但是我的总是不行,贴下输出:
[root@hadoop apache-hive-2.1.1-bin]# bin/hiveserver2
which: no hbase in (/usr/share/java:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/java/jdk1.8.0_11/bin:/bigdata/hadoop-2.6.5/bin:/bigdata/apache-hive-2.1.1-bin//bin/:/root/bin)
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/bigdata/apache-hive-2.1.1-bin/lib/log4j-slf4j-impl-2.4.1.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/bigdata/hadoop-2.6.5/share/hadoop/common/lib/slf4j-log4j12-1.7.5.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]
这里卡住不动了,上浏览器访问ip:1002也访问不了,很久没找到原因解决过程:后来偶然看到一篇文章才知道因为指令没有让程序在后台运行,hiveserver程序一直占用当前控制台可能是正常的,web没有访问到应该是太心急,没有等到程序完全启动,而恰巧因为上述信息中提到的SLF4J问题,启动完成后的OK也未打印出来;所以这里就是参照SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.这条提示删掉了一个jar文件,日志得以正常显示,在程序运行一段时间后能打印出OK,而web访问hiveserver2也是可以的,如图
然后使用beeline尝试连接服务,又陆续遇到问题,这就与网上一篇文章完全类似,直接贴过来了
------------以下为转载部分----------------------------------------------------
文章片段来自:关于 HIVE Beeline 问题
1 启动 hiveserver2 服务,启动 beeline -u jdbc:hive2:// 正常 ,启动 beeline -u jdbc:hive2://127.0.0.1:10000 包如下错误
Error: 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=,code=0)
Beeline version 2.1.0 by Apache Hive
分析 : 访问权限问题
解决 :在hdfs 的配置文件core-site.xml中加入如下配置,root 为位置填入 User:* ,etc hadoop.proxyuser.eamon.hosts