복붙노트

[HADOOP] 설치시 하이브가 작동하지 않습니다.

HADOOP

설치시 하이브가 작동하지 않습니다.

어떤 명령을 실행할 때 하이브에서 다음과 같은 오류가 발생합니다.

hive> show tables;
FAILED: Error in metadata: javax.jdo.JDOFatalInternalException: Unexpected exception caught.
NestedThrowables:
java.lang.reflect.InvocationTargetException
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask

이건 hive.log에 있습니다.

2011-07-27 19:10:57,526 ERROR exec.DDLTask (SessionState.java:printError(343)) - FAILED: Error in metadata: javax.jdo.JDOFatalInternalException: Unexpected exception caught.
NestedThrowables:
java.lang.reflect.InvocationTargetException
org.apache.hadoop.hive.ql.metadata.HiveException: javax.jdo.JDOFatalInternalException: Unexpected exception caught.
NestedThrowables:
java.lang.reflect.InvocationTargetException
        at org.apache.hadoop.hive.ql.metadata.Hive.getDatabase(Hive.java:1028)
        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: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:156)
Caused by: javax.jdo.JDOFatalInternalException: Unexpected exception caught.
NestedThrowables:
java.lang.reflect.InvocationTargetException
        at javax.jdo.JDOHelper.invokeGetPersistenceManagerFactoryOnImplementation(JDOHelper.java:1186)
        at javax.jdo.JDOHelper.getPersistenceManagerFactory(JDOHelper.java:803)
        at javax.jdo.JDOHelper.getPersistenceManagerFactory(JDOHelper.java:698)
        at org.apache.hadoop.hive.metastore.ObjectStore.getPMF(ObjectStore.java:234)
        at org.apache.hadoop.hive.metastore.ObjectStore.getPersistenceManager(ObjectStore.java:261)
        at org.apache.hadoop.hive.metastore.ObjectStore.initialize(ObjectStore.java:196)
        at org.apache.hadoop.hive.metastore.ObjectStore.setConf(ObjectStore.java:171)
        at org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:62)
        at org.datanucleus.jdo.JDOPersistenceManagerFactory.createPersistenceManagerFactory(JDOPersistenceManagerFactory.java:255)
        at org.datanucleus.jdo.JDOPersistenceManagerFactory.getPersistenceManagerFactory(JDOPersistenceManagerFactory.java:182)
        ... 41 more

분명히 메타 데이터베이스에 문제가 있지만 오류는 매우 혼란스럽고 설치 안내서는 메타 데이터베이스 구성에 대해 아무 것도 말하지 않습니다.

해결법

  1. ==============================

    1.나는 같은 문제를 겪고 있었다. 솔루션은 https://www.mysql.com/downloads/connector/j/에서이 파일을 다운로드하고, 압축을 풀고, jar를 내부에서 / usr / lib / hive / lib로 복사합니다 (귀하의 경우 다를 수 있음). - 하이브 라이브러리가있는 곳입니다.)

    나는 같은 문제를 겪고 있었다. 솔루션은 https://www.mysql.com/downloads/connector/j/에서이 파일을 다운로드하고, 압축을 풀고, jar를 내부에서 / usr / lib / hive / lib로 복사합니다 (귀하의 경우 다를 수 있음). - 하이브 라이브러리가있는 곳입니다.)

  2. ==============================

    2.나는 그 답을 여기에서 발견했다.

    나는 그 답을 여기에서 발견했다.

    http://getsatisfaction.com/cloudera/topics/hive_error_error_in_metadata_javax_jdo_jdofatalinternalexception

    "Shirish Reddy : $ HADOOP_HOME / build를 삭제하고 모든 것이 잘되어야합니다."

    이상하게도 충분히 $ HADOOP_HOME / 삭제 후 문제가 사라졌습니다.

  3. from https://stackoverflow.com/questions/6853445/hive-doesnt-work-on-install by cc-by-sa and MIT license