hive新旧jar包冲突引起的错误java.lang.NoSuchFieldError: info

Exception in thread "main" java.lang.NoSuchFieldError: info
        at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:583)
        at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:557)
        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.main(RunJar.java:186)

1. 不知是谁往$HADOOP_HOME/lib里面放了个hive-exec-0.7.0.jar,

    导致我在测试hive0.9的时候,启动hive就报这个错,

    最终通过修改$HADOOP_HOME/bin/hadoop,在里面打印出CLASSPATH发现

2. 虽然在session中export HADOOP_HOME到/tmp/hadoop-current

    但是hadoop-env.sh中指定的还是原来的,执行时候最终使用的是这个脚本中指定的hadoop路径;

相关推荐