Hive没有在Ubuntu 16.04上启动

时间:2018-04-25 14:18:38

标签: hadoop hive

在Ubuntu 16.04上,我使用hive 2.3.2和hadoop 2.7.1,我遇到了这个错误:

Exception in thread "main" java.lang.NoSuchMethodError: com.ibm.icu.impl.ICUBinary.getRequiredData(Ljava/lang/String;)Ljava/nio/ByteBuffer;
    at com.ibm.icu.charset.UConverterAlias.haveAliasData(UConverterAlias.java:131)
    at com.ibm.icu.charset.UConverterAlias.getCanonicalName(UConverterAlias.java:525)
    at com.ibm.icu.charset.CharsetProviderICU.getICUCanonicalName(CharsetProviderICU.java:126)
    at com.ibm.icu.charset.CharsetProviderICU.charsetForName(CharsetProviderICU.java:62)

1 个答案:

答案 0 :(得分:0)

我也遇到过同样的问题。在Ubuntu 16.04,Hive 2.3.3,Hadoop 2.9.0中。

com.ibm.icu.impl.ICUBininary类位于hive / lib中的icu4j jar中

Hive附带了icu4j-4.8.1.jar,但是icu4j-4.8.1中的ICUBinary类不包含getRequiredData方法。

检查了最新版本的icu4j(https://mvnrepository.com/artifact/com.ibm.icu/icu4j),发现该方法存在。

用最新版本替换hive / lib中的icu4j jar,它开始工作了!