我一直在尝试在windows上安装hive。我有64位windows8,hadoop和spark都在上面运行。我有
1.HADOOP_HOME
2.HIVE_HOME
3.SPARK_HOME
4.Platform
5.PATH
所有这些变量都设置在我的系统上。而且,我以前也遇到过这样的错误
Missing Hive Execution Jar: C:\hadoop1\hadoop-2.7.2\apache-hive-1.2.1-bin/lib/hive-exec-*.jar
我通过编辑配置单元的bin文件夹中的配置单元文件解决了这些错误。这些错误是由于配置单元文件中的环境变量中的正斜杠“/”。我用“\”替换它们,这些错误就消失了。但现在我面临另一个问题。我得到了这些错误
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/C:/spark/spark-1.6.1-bin-hadoop2.6/lib/spark-assembly-1.6.1-hadoop2.6.0.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/C:/hadoop2.7/hadoop-2.7.1/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.slf4j.impl.Log4jLoggerFactory]
Beeline version 1.6.1 by Apache Hive
Exception in thread "main" java.lang.NoSuchMethodError: org.fusesource.jansi.internal.Kernel32.GetConsoleOutputCP()I
at jline.WindowsTerminal.getConsoleOutputCodepage(WindowsTerminal.java:293)
at jline.WindowsTerminal.getOutputEncoding(WindowsTerminal.java:186)
at jline.console.ConsoleReader.<init>(ConsoleReader.java:230)
at jline.console.ConsoleReader.<init>(ConsoleReader.java:221)
at jline.console.ConsoleReader.<init>(ConsoleReader.java:209)
at org.apache.hive.beeline.BeeLine.getConsoleReader(BeeLine.java:834)
at org.apache.hive.beeline.BeeLine.begin(BeeLine.java:770)
at org.apache.hive.beeline.BeeLine.mainWithInputRedirection(BeeLine.java:484)
at org.apache.hive.beeline.BeeLine.main(BeeLine.java:467)
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)
我找了很多关于这些的资料。此外,我已经张贴在Hive用户邮件列表这些问题,但没有得到回应。请帮帮我。
1条答案
按热度按时间ojsjcaue1#
以下是我为解决这个问题而执行的步骤:
安装microsoft visual c++2008可重新分发的加载项(不是最新的,不是sp1…)
下载jline-2.12.jar(从任何maven存储库站点)并将其放到%spark\u home%\lib目录中
我假设您已经有一个hadoop客户机正确地配置了hadoop\u home、hadoop\u conf\u dir和yarn\u conf\u dir。你也需要定义你的家
如果您使用的是cloudera 5.5+群集,请下载cloudera jdbc driver for hive(最新版本可用)并将cloudera\u hive41*存档解压缩到%hadoop\u home$\share\hadoop\hive中(此目录不存在,您需要创建它)。如果您不使用cloudera,您可以忘记这一点。
创建新的直线批处理脚本:
您可以执行beeline throw这个新脚本而没有任何问题。