参考资料:
Hive常见问题汇总

啟動hive出錯,提示沒有權限

2015年04月02日 09:58:49

阅读数:31769

这里小编汇集,使用Hive时遇到的常见问题。 
1,执行#hive命令进入Hive CLI时报如下错误:

Exception in thread "main" java.lang.RuntimeException: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:444) at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:672) at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:616) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.hadoop.util.RunJar.run(RunJar.java:221) at org.apache.hadoop.util.RunJar.main(RunJar.java:136) Caused by: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient

原因:因为没有正常启动Hive 的 Metastore Server服务进程。 
解决方法:启动Hive 的 Metastore Server服务进程,执行如下命令:

# hive --service metastore &
[1] 52460
Starting Hive Metastore Server
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/root/hadoop/hadoop-2.6.0/share/hadoop/common/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/root/hadoop/apache-hive-0.14.0-bin/lib/hive-jdbc-0.14.0-standalone.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.slf4j.impl.Log4jLoggerFactory]

2,执行#hive命令进入Hive CLI时报如下错误:

FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:javax.jdo.JDODataStoreException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'OPTION SQL_SELECT_LIMIT=DEFAULT' at line 1 at org.datanucleus.api.jdo.NucleusJDOHelper.getJDOExceptionForNucleusException(NucleusJDOHelper.java:451) at org.datanucleus.api.jdo.JDOPersistenceManager.getDataStoreConnection(JDOPersistenceManager.java:2259) at org.apache.hadoop.hive.metastore.MetaStoreDirectSql.trySetAnsiQuotesForMysql(MetaStoreDirectSql.java:166)

原因:可能是因为Hive连接Mysql的JDBC驱动版本有问题。Mysql版本是5.6.23,用的JDBC驱动是mysql-connector-java-5.0.3-bin.jar。 
解决方法:把mysql-connector-java-5.0.3-bin.jar换成mysql-connector-java-5.1.34-bin.jar,问题解决。

3,执行#hive命令进入Hive CLI时报如下错误: 
在hive1.1版本会有如下错:

# hive......
Exception in thread "main" java.lang.RuntimeException: java.lang.IllegalArgumentException: java.net.URISyntaxException: Relative path in absolute URI: ${system:java.io.tmpdir%7D/$%7Bsystem:user.name%7D at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:472) at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:671) at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:615) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.hadoop.util.RunJar.run(RunJar.java:221) at org.apache.hadoop.util.RunJar.main(RunJar.java:136) Caused by: java.lang.IllegalArgumentException: java.net.URISyntaxException: Relative path in absolute URI: ${system:java.io.tmpdir%7D/$%7Bsystem:user.name%7D at org.apache.hadoop.fs.Path.initialize(Path.java:206) at org.apache.hadoop.fs.Path.<init>(Path.java:172) at org.apache.hadoop.hive.ql.session.SessionState.createSessionDirs(SessionState.java:515) at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:458) ... 8 more Caused by: java.net.URISyntaxException: Relative path in absolute URI: ${system:java.io.tmpdir%7D/$%7Bsystem:user.name%7D at java.net.URI.checkPath(URI.java:1804) at java.net.URI.<init>(URI.java:752) at org.apache.hadoop.fs.Path.initialize(Path.java:203) ... 11 more

原因:system:java.io.tmpdir 和system:user.name提示需要使用绝对路径

Caused by: java.lang.IllegalArgumentException: java.net.URISyntaxException: Relative path in absolute URI: ${system:java.io.tmpdir%7D/$%7Bsystem:user.name%7D

解决方法: 
将conf/hive-site.xml中所有的system:java.io.tmpdir 和system:user.name都换成绝对路径。 
Hive-1.1.0版本中有以下四处:

<property><name>hive.exec.local.scratchdir</name><value>${system:java.io.tmpdir}/${system:user.name}</value> <description>Local scratch space for Hive jobs</description> </property> <property> <name>hive.downloaded.resources.dir</name> <value>${system:java.io.tmpdir}/${hive.session.id}_resources</value> <description>Temporary local directory for added resources in the remote file system.</description> </property> <property> <name>hive.querylog.location</name> <value>${system:java.io.tmpdir}/${system:user.name}</value> <description>Location of Hive run time structured log file</description> </property> <property> <name>hive.server2.logging.operation.log.location</name> <value>${system:java.io.tmpdir}/${system:user.name}/operation_logs</value> <description>Top level directory where operation logs are stored if logging functionality is enabled</description> </property>

配置之后如下:

<property><name>hive.exec.local.scratchdir</name><value>/root/hadoop/apache-hive-1.1.0-bin/iotmp/hive</value> <description>Local scratch space for Hive jobs</description> </property> <property> <name>hive.downloaded.resources.dir</name> <value>/root/hadoop/apache-hive-1.1.0-bin/iotmp/${hive.session.id}_resources</value> <description>Temporary local directory for added resources in the remote file system.</description> </property> <property> <name>hive.querylog.location</name> <value>/root/hadoop/apache-hive-1.1.0-bin/iotmp/hive</value> <description>Location of Hive run time structured log file</description> </property> <property> <name>hive.server2.logging.operation.log.location</name> <value>/root/hadoop/apache-hive-1.1.0-bin/iotmp/hive/operation_logs</value> <description>Top level directory where operation logs are stored if logging functionality is enabled</description> </property>

4,执行#hive命令进入Hive CLI时报如下错误: 
在hive1.1版本,对应的Hadoop版本是2.6。启动Hive时有如下错:

# hive......
[ERROR] Terminal initialization failed; falling back to unsupported
java.lang.IncompatibleClassChangeError: Found class jline.Terminal, but interface was expectedat jline.TerminalFactory.create(TerminalFactory.java:101) at jline.TerminalFactory.get(TerminalFactory.java:158) at jline.console.ConsoleReader.<init>(ConsoleReader.java:229) at jline.console.ConsoleReader.<init>(ConsoleReader.java:221) at jline.console.ConsoleReader.<init>(ConsoleReader.java:209) at org.apache.hadoop.hive.cli.CliDriver.getConsoleReader(CliDriver.java:773) at org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:715) at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:675) at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:615) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.hadoop.util.RunJar.run(RunJar.java:221) at org.apache.hadoop.util.RunJar.main(RunJar.java:136) 

原因:因为在hadoop目录下存在老版本jline: 
/root/hadoop/hadoop-2.6.0/share/hadoop/yarn/lib/jline-0.9.94.jar

解决方法:将hive下的新版本jline的JAR包拷贝到hadoop下:

#cp /hive/apache-hive-1.1.0-bin/lib/jline-2.12.jar /root/hadoop/hadoop-2.6.0/share/hadoop/yarn/lib/
/root/hadoop/hadoop-2.6.0/share/hadoop/yarn/lib -rw-r--r--. 1 20000 20000 87325 Nov 14 05:20 jline-0.9.94.jar.bak -rw-r--r--. 1 root root 213854 Apr 2 08:55 jline-2.12.jar

Hive CLI可以成功启动。

5,在Hive中执行SQL时,报如下错:

Diagnostic Messages for this Task:
Container launch failed for container_1431310046688_0001_02_000013 : org.apache.hadoop.yarn.exceptions.YarnException: Unauthorized request to start container.
This token is expired. current time is 1431311178863 found 1431311136701 at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 

原因:namenode和datanode的时间不一致,需要保证namenode和datanode的时间一致。

转载于:https://www.cnblogs.com/pejsidney/p/8952149.html

Hive常见问题汇总相关推荐

  1. exec不同文件l怎么汇总_ABAQUS常见问题汇总 - 2.0版.doc

    您所在位置:网站首页 > 海量文档 &nbsp>&nbsp计算机&nbsp>&nbspC/C++资料 ABAQUS常见问题汇总 - 2.0版.doc1 ...

  2. 使用maven下载依赖包及maven常见问题汇总

    最近下载了SPRING3.1.4,发现只有SPRING相关的源码,没有其依赖的jar包.SPRING依赖的jar相当多,自己一个一个的下载比较费劲,就仔细阅读了SPRING下载说明,新版本的SPRIN ...

  3. java 遇到的问题_Java常见问题汇总(一)

    原标题:Java常见问题汇总(一) 每天在写Java程序,其实里面有一些细节大家可能没怎么注意,这不,有人总结了一个我们编程中常见的问题.虽然一般没有什么大问题,但是最好别这样做.另外这里提到的很多问 ...

  4. hive常见问题及解决方法

    Hive常见问题及解决方法 问题1:Specified key was too long; max key length is 1536 bytes     hive.log :  2018-01-0 ...

  5. 系统部署常见问题汇总

    系统部署常见问题汇总 文章目录 系统部署常见问题汇总 引用文件路径问题 前端代码兼容IE问题 IE不支持Promise问题 IE浏览器GET请求缓存问题 前端代码混淆问题 npx的使用 IE兼容new ...

  6. 集成 jpush-react-native 常见问题汇总 ( iOS 篇)

    给 iOS 应用添加推送功能是一件比较麻烦的事情,本篇文章收集了集成 jpush-react-native 的常见问题,目的是为了帮助用户更好地排查问题 1.收不到推送 确保是在真机上测试,而不是在模 ...

  7. fastText中常见问题汇总

    fastText中常见问题汇总: 1.什么是fastText fastText是一个用于文本分类和词向量表示的库,它能够把文本转化成连续的向量然后用于后续具体的语言任务,目前教程较少! 2.为什么训练 ...

  8. 软考考后常见问题汇总

    摘要:软考考后常见问题汇总,查询成绩.证书领取.考试复核等 一.考试分数线什么时间出?合格分数线会不会有变化? 答:合格分数线出成绩一个月左右,如2020年12月18日出成绩,2021年1月11日出合 ...

  9. oracle 数据库问题,ORACLE数据库常见问题汇总,oracle常见问题汇总

    ORACLE数据库常见问题汇总,oracle常见问题汇总 提交事务的时候提示(数据库被一个用户锁住的解决方法) select object_id,session_id,locked_mode from ...

最新文章

  1. AI 技术实力图谱全解析!2018 中国 AI 开发者大会重磅来袭
  2. 第十六届全国大学生智能车竞赛组委会第三次扩大会议
  3. 解决idea中maven项目无法读取src/main/java目录下面的配置文件问题
  4. java设计模式5--原型模式(Prototype)
  5. 杭州飞畅告诉你工业环网交换机到底是什么?
  6. Go 语言实现 23 种设计模式适配器
  7. 造完家怎么拆东西_吸顶灯灯管怎么拆?吸顶灯拆灯管的注意事项有哪些?
  8. 案例 以继承的方式实现解析频道节目单 c# 1614262275
  9. Python logging模块切分和轮转日志
  10. AC自动机 - 多模式串的匹配 --- HDU 3695 Computer Virus on Planet Pandora
  11. 北漂九年 ,雷军终于买房了:壕掷52亿元
  12. android 主界面 布局,Android用户界面与View/ViewGroup
  13. 将ubuntu引导项加入windowsXP启动菜单中
  14. oracle dmp和sql文件区别,数据库dbf与dmp文件
  15. Towards Adversarial Attack on Vision-Language Pre-training Models
  16. 1【源码】数据可视化:基于 Echarts +Java SpringBoot 实现的动态实时大屏范例-互联网企业数据分析
  17. Invalid bound statement (not found)错误的原因和解决办法
  18. 网页屏幕上有只小虫在到处爬(代码)
  19. Java平凡之路-成长篇(03) -SOA和EAI(架构)
  20. Stay Hungry. Stay Foolish

热门文章

  1. 2.12 主成分分析(上)
  2. PRML-系列一之1.6
  3. 个人家用nas_期待已久终于来了!绿联推出NAS私有云,填补爆发式存储需求
  4. c++ inline 以及构造函数
  5. 改善深层神经网络:超参数调整、正则化以及优化 —— 3.1调试处理
  6. 使用deeplearning4j训练Word2Vec(Java操作)
  7. 数据写入mysql的方式,FMDB写入大量数据的处理方法
  8. 设置 mock_Quasar 使用 Mock.js
  9. python ftp服务器限速_python实现ftp服务器
  10. CMFCButton使用简介