首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >蜂巢: org.fusesource.jansi.internal.Kernel32.GetConsoleOutputCP()I :NoSuchMethodError

蜂巢: org.fusesource.jansi.internal.Kernel32.GetConsoleOutputCP()I :NoSuchMethodError
EN

Stack Overflow用户
提问于 2016-05-23 19:49:33
回答 1查看 1.7K关注 0票数 0

我一直试图在窗户上安装蜂箱。我有64位窗口8的HADOOP和火花运行。我有过

代码语言:javascript
复制
1.HADOOP_HOME
2.HIVE_HOME
3.SPARK_HOME
4.Platform
5.PATH

所有这些变量都建立在我的系统上。另外,我之前也收到过这些错误

代码语言:javascript
复制
Missing Hive Execution Jar: C:\hadoop1\hadoop-2.7.2\apache-hive-1.2.1-bin/lib/hive-exec-*.jar

我通过编辑HIVE的bin文件夹中的Hive文件来解决这些错误。这些错误是由于HIVE文件中的环境变量中的正斜杠“/”造成的。我用"\“代替它们,这些错误就消失了。但现在我正面临着另一个问题。我收到了这些错误

代码语言:javascript
复制
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)

我已经搜过很多这些了。此外,我已经张贴了这些问题的蜂巢用户邮件列表,但没有得到回应。请帮我处理这个。

EN

回答 1

Stack Overflow用户

发布于 2016-10-27 12:19:40

下面是我执行的解决这个问题的步骤:

  1. 安装MicrosoftVisualC++ 2008可再发行的附加组件(不是最新版本,也不是SP1.)
  2. 下载jline-2.12.jar (从任何maven存储库站点)并将其放到您的%SPARK_HOME%\lib目录中
  3. 我假设您已经使用HADOOP_HOME正确配置了hadoop客户机,定义了HADOOP_CONF_DIR y YARN_CONF_DIR。您也需要定义SPARK_HOME
  4. 如果您使用Cloudera 5.5+集群,请下载用于Hive的Cloudera驱动程序(最后一个可用版本),并将Cloudera_Hive41*存档解压缩到%HADOOP_HOME$\share\hadoop\hive (这个目录不存在,您需要创建它)。如果你不使用Cloudera,你可以忘记这一点。
  5. 创建一个新的直线批处理脚本:

@echo off setLocal EnableDelayedExpansion Rem Hive Classpath设置只有在使用CLOUDERA set setLocal set HIVE_CLASSPATH= for /R %HIVE_CLOUDERA_DRIVER_DIR% %a in (*.jar) do ( set HIVE_CLASSPATH=!HIVE_CLASSPATH;%a) set HIVE_CLASSPATH=!HIVE_CLASSPATH!如果您不使用CLOUDERA,则可以跳过HIVE_CLASSPATH_STUFF Rem设置,将SPARK_CLASSPATH=设置为/R % Spark _HOME%/lib %%a in (*.jar) do (设置SPARK_CLASSPATH=!SPARK_CLASSPATH;%a)设置SPARK_CLASSPATH=!SPARK_CLASSPATH!Rem Hadoop类路径集HADOOP_CLASSPATH=%HADOOP_CONF_DIR%\;%YARN_CONF_DIR%\ Rem虚拟机选项集JAVA_ Options =-Xms1g -Xmx1g Rem执行Beeline Java -cp %JAVA_OPTIONS% org.apache.hive.beeline.BeeLine %*

您可以执行直线抛出这个新脚本,没有任何问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37399343

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档