蜂巢显示表给出错误

时间:2012-01-09 22:50:51

标签: hadoop hive

我在运行配置单元时遇到以下错误。我正在使用默认的derby db。

我正在使用以下hadoop版本

root@edmg-u10:~/dse-1.0.1/bin# dse hadoop version
Hadoop 0.20.204.1-dse1-SNAPSHOT
Subversion git://ip-10-98-83-84/ on branch (no branch) -r e44f689b34165e7909e7c7c48c7f1a5a9171e8c7
Compiled by hudson on Thu Nov  3 16:05:34 EDT 2011



hive> show tables;
java.lang.NoSuchMethodError: org.apache.thrift.meta_data.FieldValueMetaData.<init>(BZ)V
        at org.apache.cassandra.thrift.CfDef.<clinit>(CfDef.java:296)
        at org.apache.cassandra.thrift.KsDef.read(KsDef.java:753)
        at org.apache.cassandra.thrift.Cassandra$describe_keyspaces_result.read(Cassandra.java:21498)
        at org.apache.cassandra.thrift.Cassandra$Client.recv_describe_keyspaces(Cassandra.java:1153)
        at org.apache.cassandra.thrift.Cassandra$Client.describe_keyspaces(Cassandra.java:1129)
        at com.datastax.bdp.util.CassandraProxyClient.initialize(CassandraProxyClient.java:213)
        at com.datastax.bdp.util.CassandraProxyClient.<init>(CassandraProxyClient.java:180)
        at com.datastax.bdp.util.CassandraProxyClient.newProxyConnection(CassandraProxyClient.java:119)
        at com.datastax.bdp.hadoop.hive.metastore.CassandraClientHolder.<init>(CassandraClientHolder.java:66)
        at com.datastax.bdp.hadoop.hive.metastore.CassandraHiveMetaStore.setConf(CassandraHiveMetaStore.java:69)
        at org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:62)
        at org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:117)
        at org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.getMS(HiveMetaStore.java:316)
        at org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.executeWithRetry(HiveMetaStore.java:268)
        at org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.createDefaultDB(HiveMetaStore.java:413)
        at org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.init(HiveMetaStore.java:194)
        at org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.<init>(HiveMetaStore.java:159)
        at org.apache.hadoop.hive.metastore.HiveMetaStoreClient.<init>(HiveMetaStoreClient.java:108)
        at org.apache.hadoop.hive.ql.metadata.Hive.createMetaStoreClient(Hive.java:1868)
        at org.apache.hadoop.hive.ql.metadata.Hive.getMSC(Hive.java:1878)
        at org.apache.hadoop.hive.ql.metadata.Hive.getDatabase(Hive.java:1024)
        at org.apache.hadoop.hive.ql.metadata.Hive.databaseExists(Hive.java:1013)
        at org.apache.hadoop.hive.ql.exec.DDLTask.showTables(DDLTask.java:1691)
        at org.apache.hadoop.hive.ql.exec.DDLTask.execute(DDLTask.java:289)
        at org.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java:130)
        at org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(TaskRunner.java:57)
        at org.apache.hadoop.hive.ql.Driver.launchTask(Driver.java:1063)
        at org.apache.hadoop.hive.ql.Driver.execute(Driver.java:900)
        at org.apache.hadoop.hive.ql.Driver.run(Driver.java:748)
        at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:164)
        at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:241)
        at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:456)
        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:616)
        at org.apache.hadoop.util.RunJar.main(RunJar.java:156)

任何帮助将不胜感激。

由于

2 个答案:

答案 0 :(得分:1)

看来你在classpath中有错误的jar。当您拥有旧版本(或不支持的版本)的Jars时,会发生NoSuchMethodError错误。

答案 1 :(得分:0)

Classpath 可能被错误定义。

配置HIVE时我遵循的步骤

  1. 在本地计算机中安装了Hive

  2. 打开.bash_profile文件并添加了两行

    导出HIVE_HOME = / home / hadoop / Desktop / hive-0.6.0

    export PATH = $ PATH:$ HIVE_HOME / bin

    [可选:直接运行Hive而不输入其bin文件夹]

  3. 在终端

  4. 中输入source~ / .bash_profile
  5. 最后,在终端中输入配置单元

  6. 请按照您安装Hive的方式发布我

相关问题