我计划安装hive0.12用hadoop-1.2.1。后hadoop-1.2.1装,我也有配置hive0.12。但是当我使用bin/hive命令我得到:
Exception in thread "main" java.lang.NoSuchMethodError: org.apache.hadoop.conf.Configuration.addDeprecation(Ljava/lang/String;Ljava/lang/String;)V
at org.apache.hadoop.hive.conf.HiveConf.<clinit>(HiveConf.java:77)
at org.apache.hadoop.hive.common.LogUtils.initHiveLog4jCommon(LogUtils.java:74)
at org.apache.hadoop.hive.common.LogUtils.initHiveLog4j(LogUtils.java:58)
at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:639)
at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:623)
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.main(RunJar.java:160)
Run Code Online (Sandbox Code Playgroud)
如何解决问题?
从hadoop 2.3.0添加了org.apache.hadoop.conf.Configuration.addDeprecation()方法。但是正如您所写,您的hadoop分布为1.2.1。简而言之,您的配置单元安装和hadoop安装不适合。您的蜂巢安装必须针对hadoop 1.2.1进行重建。
这种方法很简单。由于hadoop 1.2.1将不再更新,因此升级安装是可行的。删除当前的hadoop安装并安装hadoop 2.5.1(最新版本,到目前为止)。要安装它,建议使用他的教程。
在安装蜂巢发行版时,必须使用以下命令对其进行构建:
mvn clean install -Phadoop-2,dist
Run Code Online (Sandbox Code Playgroud)
试试这个命令:
mvn clean install -Phadoop-1,dist
Run Code Online (Sandbox Code Playgroud)
使用此命令,将在Packaging / target / apache-hive-0.12-bin目录中创建输出。用它替换当前的配置单元安装。
| 归档时间: |
|
| 查看次数: |
12484 次 |
| 最近记录: |